【问题标题】:JDO in App Engine: how can an owned relationship be not dependent?App Engine 中的 JDO:拥有关系如何不依赖?
【发布时间】:2012-08-07 10:29:41
【问题描述】:

引用自 GAE 文档:

拥有的关系可以是“依赖的”,这意味着子关系 没有它的父母就不能存在。如果一段关系是依赖的并且 父对象被删除,所有子对象也被删除。

因此,如果拥有的关系依赖,则意味着如果父实体被删除,它不会影响子实体。但根据文档中的另一句话,这应该是不可能的:

实体与其父级之间的这种关联是永久性的,并且 实体创建后无法更改。

如果我对文档的理解正确,无主关系的意义在于,拥有关系是针对同一实体组中的实体的,无主关系是针对来自不同实体组的实体的,对吧?实体组具有树状层次结构,因此具有非依赖拥有关系意味着可以删除实体组的根实体而不删除子实体......这没有意义。

那么它是如何真正起作用的呢?

【问题讨论】:

    标签: java google-app-engine google-cloud-datastore jdo


    【解决方案1】:

    实体与其父级之间的这种关联是永久性的,并且 实体创建后无法更改。

    这仅意味着您不能通过将实体替换为另一个父级或删除关系来更改实体的父级。

    但是,您可以完全删除父实体,但这不会更改实体的实体组:What is the effect of deleting an entity's ancestor on its path?

    【讨论】:

    • 谢谢。我在考虑实体组真的很喜欢文件夹的层次结构,自然不可能在不删除根文件夹包含的所有内容的情况下删除根文件夹。显然实体组结构没有那么严格。
    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多