首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套实体组?

嵌套实体组?
EN

Stack Overflow用户
提问于 2010-07-23 16:05:02
回答 1查看 289关注 0票数 0

我有一个数据模型,我不确定我是否能从实体组中的嵌套类中获得任何好处。基本模型是用户拥有多匹马,一匹马只能拥有一匹马鞍:

代码语言:javascript
复制
// Model 1, nest everything:
User
    Horse
        Saddle
    Horse
        Saddle

// Model 2: Just let them all be siblings.
User
    Horse
    Horse
    Saddle
    Saddle

我不确定我是否获得了在马下嵌套马鞍实例的优势,或者我是否应该把它们作为兄弟姐妹来对待。

生成密钥:

代码语言:javascript
复制
// Model 1:
Key key = new KeyFactory.Builder(
  User.class.getSimpleName(), userid)
    .addChild(Horse.class.getSimpleName(), horseid)
      .addChild(Saddle.class.getSimpleName(), saddleid).getKey();

// Model 2:
Key key = new KeyFactory.Builder(
  User.class.getSimpleName(), userid)
    .addChild(Saddle.class.getSimpleName(), saddleid).getKey();

因此,生成密钥对于情景1来说是更多的工作,我想知道我是否应该切换到情景2,如果我没有比额外的嵌套获得任何优势的话?我要做的是:

  1. 删除一匹马及其马鞍。
  2. 用马鞍造一匹马。
  3. 更新一匹马及其马鞍。
  4. 自己找匹马。
  5. 同时买一匹马和它的马鞍。

我想,这两种模式都给了我以上的一切。也许模型1提供了这样的优势:整个用户对象在仅在鞍座上执行操作时不需要被锁定?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-23 16:26:50

医生们

以给定根实体作为祖先的每个实体都在同一个实体组中。组中的所有实体都存储在同一个数据存储节点中。

和:

只有在事务需要时才使用实体组。对于实体之间的其他关系,请使用ReferenceProperty属性和键值,可以在查询中使用。

无论嵌套如何,您的两个模型都将导致每个用户一个实体组。如果您只想表示对象的层次结构,则应该完全避免实体组,并使用ReferenceProperty。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3320041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档