2011-09-16 73 views
0

我有一個第二實體2個OneToOne關係B.NonUniqueObjectException:級聯過程中堅持使用JPA和休眠

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

我想從我的實體A.管理持久

但實體A當我打電話em.persist(o)休眠拋出該異常:

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

由於我的實體不會持續編輯還沒有,他們的ID是空值。在平等和EntityB的哈希碼不叫。

回答

0

你需要做些什麼來賦值給B.通常情況下一個id,你會使用@GeneratedValue做到這一點。

+0

哎呀!我忘了我的entityB有@Embeddable ID。那是我的問題。用Long替換它可以工作。 – GaetanZ