迁移现有实体以使用实体组

Migrating existing entities to use entity groups

我正在使用旧版 GAE 系统,使用 JDO 2.3,它不使用实体组,但我现在希望使用实体组来利用事务。在两个实体类型上添加了 one-to-many 关系后,这对创建的新实体正常工作,但在使用没有 parent-child 关系的现有遗留实体时会导致问题(无法删除 child 实体).

如何迁移现有的遗留实体以使用新架构?我尝试更新 child 类 上的 parent 但收到 org.datanucleus.store.appengine.DatastoreRelationFieldManager$ChildWithoutParentException ... A parent cannot be established or changed once an object has been persisted.

首先,您仍然可以在实体组之外使用交易 - 它称为跨组交易(XG 交易)。不过,您在交易中仅限于 25 个实体组

注意:在您的情况下,每个实体都是一个实体组。

实体的实体组是在创建时定义的不可变 属性。这意味着您当然需要在事务中删除并写入一个具有正确父集的新实体。