gpt4 book ai didi

java - 如何更改JDO中对象的父对象?

转载 作者:行者123 更新时间:2023-12-01 15:47:46 25 4
gpt4 key购买 nike

我正在使用 JDO 和谷歌应用程序引擎。我有 User 类,它有一个区域对象的 arrayList 。每个区域对象都有一个 Location 对象的数组列表,用于说明坐标。现在我想将一个区域对象从一个用户移动到另一个用户。我正在制作要移动的区域对象的克隆对象,并将其放入其他用户的区域列表中。然后使用remove(index)从第一个用户的列表中删除该区域。但它给出了这个错误:

   Detected attempt to establish User("arash") as the parent of User("mh")/RunData(153) but the entity identified by User("mh")/RunData(153) is already a child of User("mh").  A parent cannot be established or changed once an object has been persisted.

其中 arash 和 mh 是用户,我正在将区域从 mh 移动到 arash。

提前致谢。

我该如何解决这个问题。提前致谢。

最佳答案

由于您没有提供有关如何编码这些类的信息,因此我无法为您提供任何代码作为 Elixir 。但可能有!所以这里有一些话:-)

问题是 App Engine 数据存储区在键或 ID(无论您如何调用它)中保留对对象父级的引用。任何好的框架都会检查你没有做你做过的事情。 :-) 因此这条消息。

当您克隆“区域对象的对象”时,您也克隆了它的 ID 或 Key。正确的?那就是问题所在。您必须为其提供新的 key 或 ID。这是我可以给你一些代码的地方,但你提供的信息很少,所以你必须去 KeyFactory JavaDoc你自己。

祝你好运!

关于java - 如何更改JDO中对象的父对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com