【问题标题】:Problem deleting an entity which has a dependent "Set" Entity删除具有依赖“设置”实体的实体时出现问题
【发布时间】:2011-06-05 23:52:12
【问题描述】:

我有一个“父”实体,它有一组“子”实体,如下所示:

class Parent {

@Persistent @Element(dependent = "true")
private Set<Child> children;

}

当我删除“父”实体时,出现以下异常:

javax.jdo.JDOUserException: Cannot read fields from a deleted object
FailedObject:com.google.appengine.api.datastore.Key:Parent("1000345345456567676")/Child(2)

似乎JDO在从属Set属性中的“Child”对象之前删除了“Parent”实体,这导致当Set中的Child实体本身被删​​除时出现上述异常。有谁知道如何解决这个问题?

仅供参考,当我删除我在事务中使用 pm.deletePersistent() 的父实体时。

谢谢

【问题讨论】:

    标签: java google-app-engine jdo


    【解决方案1】:

    您可能只是简单地调用 pm.deletePersistent(objectFoo),然后在代码中调用 pm.makePersistent(objectFoo)。我正在这样做并收到上述错误消息。问候,约翰·戈奇

    【讨论】:

      【解决方案2】:

      如果这不能解决问题,还有另一种解决方案。如果您使用的是 eclipse,请在您的类上执行 Refactor -> Rename 并重新运行您的代码。这应该可以消除数据存储中的陈旧信息,让您从头开始没有问题。问候,约翰·戈奇

      【讨论】:

        猜你喜欢
        • 2015-08-06
        • 1970-01-01
        • 2011-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-10
        • 1970-01-01
        • 2020-06-25
        相关资源
        最近更新 更多