我有一个数据模型,我不确定我是否能从实体组中的嵌套类中获得任何好处。基本模型是用户拥有多匹马,一匹马只能拥有一匹马鞍:
// Model 1, nest everything:
User
Horse
Saddle
Horse
Saddle
// Model 2: Just let them all be siblings.
User
Horse
Horse
Saddle
Saddle我不确定我是否获得了在马下嵌套马鞍实例的优势,或者我是否应该把它们作为兄弟姐妹来对待。
生成密钥:
// 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提供了这样的优势:整个用户对象在仅在鞍座上执行操作时不需要被锁定?
谢谢
发布于 2010-07-23 16:26:50
每医生们
以给定根实体作为祖先的每个实体都在同一个实体组中。组中的所有实体都存储在同一个数据存储节点中。
和:
只有在事务需要时才使用实体组。对于实体之间的其他关系,请使用ReferenceProperty属性和键值,可以在查询中使用。
无论嵌套如何,您的两个模型都将导致每个用户一个实体组。如果您只想表示对象的层次结构,则应该完全避免实体组,并使用ReferenceProperty。
https://stackoverflow.com/questions/3320041
复制相似问题