这是关于Google数据存储的最佳实践问题。我试图建立对象的关系,我看到两个选项使用Embedd类或为Google Datastore存储外键?
- 在父类
- 直接嵌入一个子类@Persistent使用谷歌Key类和存储我自己的外键的字符串相关类
第三个选项不可用,JDO加入
App Engine不支持连接查询:使用子实体的属性无法查询父实体。 (您可以查询嵌入式类的属性,因为嵌入父实体类存储属性请参阅定义数据类:嵌入式类)
我关于使用选项1忧的是一个简单的搜索查询我会返回大量不需要的数据。
实施例是一个产品类别和产品详情类。当客户搜索我的产品时,他们只是根据类别,名称进行搜索并按价格排序。所有简单的信息都在Product类中。在ProductDetail类中,我保存大量描述字符串,图像链接和关键属性列表。因此,在产品类中,我可以嵌入ProductDetail类或只创建一个包含ProductDetail类的键值的外键属性。
那么我应该使用选项2呢?我在某处阅读并不会将Google数据存储视为关系数据库。但是在使用选项2时,这正是我正在做的。
而且@未知。 – DataNucleus