2
我有PolicyDO和PolicyDocumentDO.relation它們之間是如下HibernateException的:與級聯集合=「全刪除,孤兒」不再由所擁有的實體實例引用
PolicyDO.hbm.xml
<bag name="listPolicyDocumentDOList" cascade="all-delete-orphan" lazy="false" inverse="true">
<key column="POLICYSEQ" />
<one-to-many class="dataobjects.policy.PolicyDocumentDO" />
PolicyDO.java
protected List<PolicyDocumentDO> policyDocumentDOList = new ArrayList<PolicyDocumentDO>();
public java.util.List<PolicyDocumentDO> getListPolicyDocumentDOList() {
return this.policyDocumentDOList;
}
public void setListPolicyDocumentDOList(java.util.List<PolicyDocumentDO> list) {
policyDocumentDOList.clear();
policyDocumentDOList = list;
}
PolicyDocumentDO.hbm.xml
<many-to-one name="parentGuidObj" class="dataobjects.policy.PolicyDO" not-null="true" >
<column name="POLICYSEQ" />
</many-to-one>
當曾經我試圖從查詢數據庫類似下面
session = sessionFactory.openSession();
Query query = session.createQuery(strBuff.toString());
List listQuery = query.list();
我獲得以下錯誤
org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance:
dataobjects.policy.PolicyDO.listPolicyDocumentDOList
所以google搜索我下面的變化,而在PolicyDO
public void setListPolicyDocumentDOList(java.util.List<PolicyDocumentDO> list) {
policyDocumentDOList.clear();
policyDocumentDOList = list;
}
設置listPolicyDocumentDOList然後還我收到上述錯誤之後。 我還能做些什麼來解決這個錯誤。 由於
嘗試[此](http://stackoverflow.com/a/5587892/2586617) –