在这里检查两个有用的事情:
1)对于哈希键值的主设置器,请确保正确设置了表示法。 不是用于表的主哈希键的正确方法,也不是 。@DynamoDBHashKey
@DynamoDBAttribute
@DynamoDBIndexHashKey
2) 确保在表定义中定义了哈希键:
CreateTableRequest createTableRequest = new CreateTableRequest()
.withTableName("testtable")
.withKeySchema(
new KeySchemaElement("id", KeyType.HASH)
)
.withProvisionedThroughput(new ProvisionedThroughput(1L, 1L))
.withAttributeDefinitions(
new AttributeDefinition("id", "S")
);
CreateTableResult result = amazonDynamoDB.createTable(createTableRequest);
上面的表定义创建一个表“testtable”,其中包含一个标题为主索引或哈希键变量,并且类型用于字符串。id
S
此外,如果使用继承,请确保没有两个具有相同名称的函数相互覆盖。Dynamo 将使用顶级 getter,这可能会导致问题。