0
@Entity
public class Group
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key id;
}


@Entity
public class User
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key id;

    @ManyToOne(fetch = FetchType.LAZY)
    private Group group;
}

次のコードの後:

EntityManager entityManager = EntityManagerFactoryHolder.getEntityManagerFactory().createEntityManager();
Group group = new Group();
entityManager.persist(group);
User user = new User();
user.setGroup(group);
entityManager.persist(user);
entityManager.close();

次のエラーが発生します

User(28)をGroup(27)の親として確立しようとしましたが、Group(27)によって識別されたエンティティはすでに親なしで永続化されています。オブジェクトが永続化されると、親を確立または変更することはできません。org.datanucleus.store.appengine.DatastoreRelationFieldManager $ ChildWithoutParentException:User(28)をGroup(27)の親として確立しようとしましたが、Group(27)によって識別されたエンティティはすでに親なしで永続化されています。オブジェクトが永続化されると、親を確立または変更することはできません。

4

1 に答える 1

0

これはバックアソシエーションでのみ機能するようです。@OneToManyセットをGroupオブジェクトに追加し、機能するようになりました。

于 2013-02-09T13:19:12.797 に答える