Java 使用@DBDocument批注时,Dynamodb映射程序无法读取

Java 使用@DBDocument批注时,Dynamodb映射程序无法读取,java,amazon-web-services,amazon-dynamodb,Java,Amazon Web Services,Amazon Dynamodb,我有一个实体类,它有一些字符串/整数作为成员变量,还有一个类型为Photo的成员变量。我已将照片类型定义为: @DynamoDBDocument public static class Photo { @DynamoDBAttribute(attributeName = "url") public String getUrl() { return url; } @DynamoDBAttribute(attributeName = "width")

我有一个实体类,它有一些字符串/整数作为成员变量,还有一个类型为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;
    }
}
当我尝试编写实体对象时,我可以看到照片类型存储为映射(M)

但当我尝试从dynamo读取相同的实体时,它给出了一个例外:

com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: PostingPhotoEntity[detail]; could not unconvert attribute
如果我必须为Photo定义convert/uncert,那么@DBDocument注释的用途是什么。我原以为它还可以反序列化表中的数据


请帮忙

我必须为Photo定义一个默认构造函数

public Photo() { }