@DynamoDBTypeConvertedEnum不起作用

时间:2018-02-28 11:01:12

标签: amazon-dynamodb

当我使用@DynamoDBTypeConvertedEnum时,我收到此错误:

  

如果没有自定义封送程序或@DynamoDBDocument批注,则无法对类型类com.lib.dao.enums.main.ROLE进行编组。

这是我的代码:

public enum ROLE {
    ADMIN,USER
}

@DynamoDBTable(tableName = "user")
public class UserEntity extends BaseEntity implements Serializable {
...
    @DynamoDBAttribute(attributeName = "role_name")
    @DynamoDBTypeConvertedEnum
    private ROLE roleName;

    public ROLE getRoleName() {
        return roleName;

    }

    public void setRoleName(ROLE roleName) {
        this.roleName = roleName;
    }
...
}

1 个答案:

答案 0 :(得分:0)

您的问题相当古老,从那时起,DynamoDB API不断发展。您未指定使用哪个版本,所以我假设使用1.0.x。

@DynamoDBTypeConvertedEnum在枚举中使用时对我有用:

@DynamoDBTypeConvertedEnum
public enum ROLE {
    ADMIN,USER
}

我还有另一个问题,即实现使用了setter,如果类是不可变的,则映射器将无法取消映射此字段(找不到setter)。但这是不同的话题。