我有一个类似于 DAO 的东西:
@Getter
@Setter
@DynamoDBTable(tableName="tableName")
public class DAO {
@DynamoDBHashKey
private String field1;
@DynamoDBIndexHashKey(globalSecondaryIndexName="index_name")
@DynamoDBRangeKey
private String field2;
}
问题在于,当我试图使用DAO通过DynamoDBMapper进行负载调用时,使用field1作为哈希键获取项目时,它会抛出一个DynamoDBException,显示:Null key found for public DAO.getField2(),但实际上表中有与field2相对应的值。 问题是,这是否是由于Lombok注释而不是手动设置代码以及我们通常同时使用Lombok和DynamoDBAnnotations所致?
hashKey
:你调用了哪个DynamoDBMapper方法(哪个DynamoDB API)? - mkobitGetItem
,它需要两者,这就是为什么您在 Mapper 中会遇到那个错误的原因。很高兴看到你解决了这个问题! - mkobit