我已经开始在DynamoDB和跨越该指令来到DynamoDBMapper http://aws.amazon.com/articles/0802321832592496正在使用DynamoDBMapper一个坏主意?
让说我有一个用户POJO,DynamoDB注释添加,如:
@DynamoDBTable(tableName = "users")
public class User {
private Integer id;
private Set<String> friends;
private String status;
@DynamoDBHashKey
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
@DynamoDBAttribute
public Set<String> getFriends() { return friends; }
public void setFriends(Set<String> friends) { this.friends = friends; }
@DynamoDBAttribute
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
}
由于POJO是最有可能用于在一个典型的应用程序中传输数据,例如从持久层到API层......这听起来像是一个坏主意,它将它与特定的数据库技术联系起来。
在关系领域,可以使用Java Persistence API注释,它是数据库不可知的。但对于DynamoDB,情况并非如此。如果将来数据库发生变化,我们将需要修改POJO类。听起来不像是一种好的做法。
那么应该使用DynamoDBMapper,还是应该使用低级API?
我不知道我可以用dynamodb mapper自动创建POJO。我错过了什么? – vuamitom