【问题标题】:JDO app engine: composite keyJDO 应用引擎:复合键
【发布时间】:2012-01-25 11:56:33
【问题描述】:

这是定义复合键的正确方法吗 一个类:

@PersistenceCapable
class Item {
  @PrimaryKey
  long id;
  @PrimaryKey
  String sellerID;
  // ... other fields follow
}

因为我希望这对 (id, SellerID) 是唯一的,而不仅仅是 id 本身。

因此,在应用引擎数据存储中,我需要一个包含两者的实体 字段以某种方式进入一个键(例如用破折号分隔它们和 连接它们)但我不确定如何进行指导 应用引擎可以通过 JDO 甚至通过低级 API 来实现。

【问题讨论】:

    标签: google-app-engine jdo


    【解决方案1】:

    这里最简单的方法是使用 KeyFactory 并使用您每次生成的单个 Key:

    http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/KeyFactory.Builder.html

    创建一个字符串键并连接两个字段。创建两个 @PrimaryKey 注释将不起作用 - 将 App Engine 尽可能靠近键值存储。我真的很喜欢 Jeff Schnitzer 关于如何将数据存储区视为 HashMap/Dictionary 的解释:

    http://code.google.com/p/objectify-appengine/wiki/Concepts

    【讨论】:

      猜你喜欢
      • 2012-04-20
      • 2012-02-20
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-27
      • 2015-02-14
      • 1970-01-01
      相关资源
      最近更新 更多