Google App Engine (JDO) 中 ID 的 Key 或 Long
Posted
技术标签:
【中文标题】Google App Engine (JDO) 中 ID 的 Key 或 Long【英文标题】:Key or Long for ID in Google App Engine (JDO) 【发布时间】:2011-07-15 20:03:38 【问题描述】:我正在使用 JDO 和 Google App Engine 进行存储,我想知道 Key 对象和 Long for id 有什么区别?
我发现长 ID 更实用,是我遗漏了什么吗?
谢谢。
【问题讨论】:
【参考方案1】:Key
是全局唯一标识符,它在整个应用引擎中唯一标识一个实体。它由两部分组成:
-
描述实体所属应用、任何祖先键和实体种类的路径。
ID (a long) 或 key name (a string)。
无论您选择使用长字符串还是字符串作为第二个片段,都有一个Key
对象与存储在数据存储区中的每个实体相关联。
【讨论】:
很好的描述,但同样重要的是要提到,如果您使用 Key,那么您将代码绑定到 Google(或至少存在他们的 Key 类),而如果您使用 long/String 等,那么您有代码中的可移植性(身份) 很好的解释和好点DataNucleus。为了将来更好的可移植性,我将坚持使用 Long 主键。谢谢! 自 2014 年起,Keys 还嵌入了一个可选的命名空间字段。以上是关于Google App Engine (JDO) 中 ID 的 Key 或 Long的主要内容,如果未能解决你的问题,请参考以下文章
在 Google App Engine 上将 JDO 与 HRD 结合使用
Google App Engine (JDO) 中 ID 的 Key 或 Long
为啥我在 Google App Engine 上使用 JDO 的查询中出现转换错误?