NonUniqueObjectException:在级联持久化时使用jpa和hibernate

时间:2011-09-16 10:45:04

标签: hibernate jpa jpa-2.0

我在第二个实体B上有一个具有2个OneToOne关系的实体A.

entity   --  @OneToOne(cascade=CascadeType.PERSIST)  -->  entity
   A     --  @OneToOne(cascade=CascadeType.PERSIST)  -->     B

我想从我的实体A管理持久性。

但是当我调用em.persist(o)时,hibernate会抛出异常:

org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [EntityB#null]

由于我的实体尚未保留,因此它们的ID为空。不调用EntityB的equals和hashcode。

1 个答案:

答案 0 :(得分:0)

你需要做一些事情来为B分配一个id值。通常,你会使用@GeneratedValue来做到这一点。