我有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")問題是,當(dāng)我嘗試保存 a 時Cat,出現(xiàn)錯誤:Cat: does not map HASH key on model但是Cat應(yīng)該有他的超類的哈希鍵。我可以解決移動注釋的問題:@DynamoDBTable(tableName = "Cat")從類Cat到超類,它可以將Cat. 我還沒有測試這是否會導(dǎo)致問題Dog,但我不這么認為,因為它會被覆蓋 @DynamoDBTable(tableName = "Dog")但這個解決方案對我來說似乎很難看。有更好的解決方案嗎?(我會考慮將 Dog 和 Cat 表合并到一張名為 Animal 的表中。)
添加回答
舉報
0/150
提交
取消