我試圖做這樣的休眠實體A的副本:如何使休眠集合的副本與級聯=「全刪除,孤兒」
A a = (A) session.get(A.class, id);
session.evict(a);
a.setId(null);
session.save(a);
然而,這並不工作,我得到以下expetion:
org.hibernate.HibernateException: Don't change the reference to a collection with cascade="all-delete-orphan": com.test.A.B
它的安全承擔這個錯誤是因爲我已經在實體中的定義乙實體的集合:
<list name="B" table="B" lazy="false" cascade="all,delete-orphan">
<key column="A_ID" not-null="true"/>
<index column="X"/>
<one-to-many class="com.test.B"/>
</list>
如何製作實體A的副本,包括它的實體B的集合,而不休眠是否不滿意?
什麼是你的休眠版本? –
休眠版本是3。2 – user1985273
請澄清:你是否想在複製實體的集合中保留*相同的*元素,或者是否想要複製集合中的元素? – Andremoniy