【问题标题】:foreign key in google app's datastore [duplicate]谷歌应用程序数据存储中的外键[重复]
【发布时间】:2010-09-25 02:51:38
【问题描述】:

一个简单的问题,谷歌应用程序的数据存储是否支持外键映射,如果是,任何人都可以启发我 XD,或分享一些链接。

【问题讨论】:

    标签: java database google-app-engine foreign-keys


    【解决方案1】:

    您可以使用ReferenceProperty 指代不同种类的其他项目,或使用SelfReferenceProperty 指代相同种类的其他项目。

    【讨论】:

      【解决方案2】:

      所有实体都有一个,您可以引用它并将其存储在实体的属性中。请注意,持有实体的密钥并不意味着指向的实体实际存在 - 即不存在关系完整性。同样,删除存在的实体对键没有任何影响。

      类似的 SQL 构造是一个表,其中的列包含一个值,该值是其他地方的主键,但没有外键关系,因此没有关系完整性。

      有一个具有级联删除功能的依赖子项的概念。这是一个 JDO 结构,数据存储本身并不支持 - 删除由更高级别的 JDO 框架管理。

      您也可以使用嵌入式类。嵌入对象本质上包含在持有对象存储中,作为普通属性。如果你删除了持有类,你就删除了嵌入的对象。

      http://code.google.com/appengine/docs/python/datastore/keyclass.html http://code.google.com/appengine/docs/java/datastore/relationships.html#Dependent_Children_and_Cascading_Deletes http://code.google.com/appengine/docs/java/datastore/dataclasses.html#Embedded_Classes

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-13
        • 2013-05-17
        • 2012-11-20
        • 2014-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-20
        相关资源
        最近更新 更多