我有3个班级:public abstract class Animal{ private String id; private String name; @DynamoDBHashKey(attributeName = "Id") public String getId() { return id; } public void setId(String id) { this.id = id; } @DynamoDBAttribute(attributeName = "Name") public String getName() { return name; } public void setName(String name) { this.name = name; }}然后是类 Cat:@DynamoDBTable(tableName = "Cat")public class Cat extends Animal{ private String purr; @DynamoDBAttribute(attributeName = "Purr") public String getPurr() { return purr; } public void setPurr(String purr) { this.purr = purr; }}还有一个类似的类Dog,它扩展Animal并使用另一个名为Dog 的表:@DynamoDBTable(tableName = "Dog")问题是,当我尝试保存 a 时Cat,出现错误:Cat: does not map HASH key on model但是Cat应该有他的超类的哈希键。我可以解决移动注释的问题:@DynamoDBTable(tableName = "Cat")从类Cat到超类,它可以将Cat. 我还没有测试这是否会导致问题Dog,但我不这么认为,因为它会被覆盖 @DynamoDBTable(tableName = "Dog")但这个解决方案对我来说似乎很难看。有更好的解决方案吗?(我会考虑将 Dog 和 Cat 表合并到一张名为 Animal 的表中。)
添加回答
举报
0/150
提交
取消