我试图做这样的休眠实体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