这是为其定义复合键的正确方法吗? 一个班级:
@PersistenceCapable
class Item {
@PrimaryKey
long id;
@PrimaryKey
String sellerID;
// ... other fields follow
}
因为我希望对(id,sellerID)是唯一的,而不仅仅是id。
因此,在app引擎数据存储区中,我需要一个包含两者的实体 字段以某种方式变成一个键(例如用短划线分隔它们 连接他们)但我不知道如何去指导 应用引擎通过JDO或甚至通过低级API来实现。
答案 0 :(得分:4)
这里最简单的方法是使用KeyFactory并使用您每次生成的单个密钥:
创建一个String Key并连接这两个字段。创建两个@PrimaryKey注释将不起作用 - 将App Engine视为尽可能靠近键值存储。我非常喜欢Jeff Schnitzer关于如何将数据存储区视为HashMap / Dictionary的解释: