我收到一个错误:
不要使用 cascade="all-delete-orphan" 更改对集合的引用
在尝试以下操作时:
beginTx();
Parent parent = new Parent();
Child child = new Child();
parent.addChild(child);
getSession().save(parent);
commitTx();
closeSession();
beginTx();
//id is the primary key
child.setID(null);
getSession().update(child);
commitTx();
closeSession();
父母和孩子通过one-to-many
cascade = ' all-delete-orphan
' 相关联。
class Parent {
Set child;
}
<set name="child" table="Child" cascade="all-delete-orphan" inverse="true">
<key column="FK"></key>
<one-to-many class="Child"/>
</set>
知道为什么会抛出这个异常吗?即使实体处于分离状态,为什么在主键上设置 null 会导致此异常?