我有一个Entity类,它有一些字符串/整数作为成员变量和一个类型为Photo的成员变量。我已将照片类型定义为:
@DynamoDBDocument
public static class Photo {
@DynamoDBAttribute(attributeName = "url")
public String getUrl() {
return url;
}
@DynamoDBAttribute(attributeName = "width")
public Integer getWidth() {
return width;
}
@DynamoDBAttribute(attributeName = "height")
public Integer getHeight() {
return height;
}
public void setUrl(String url) {
this.url = url;
}
public void setWidth(Integer width) {
this.width = width;
}
public void setHeight(Integer height) {
this.height = height;
}
private String url;
private Integer width;
private Integer height;
public Photo(String url, Integer width, Integer height) {
this.url = url;
this.width = width;
this.height = height;
}
}
当我尝试编写实体对象时,我可以看到Photo类型存储为地图(M)。
但是当我尝试从发电机读取同一个实体时,它会给出异常:
com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: PostingPhotoEntity[detail]; could not unconvert attribute
如果我必须为Photo定义convert / unrevert,那么@DBDocument注释的用途是什么。我原以为它也可以从表中反序列化数据。
请帮忙!
答案 0 :(得分:2)
我必须为Photo
定义默认构造函数public Photo() { }