Hibernate 无法删除
嗨,我可以添加记录,但不能删除记录 它给出了以下错误:Hibernate 无法删除,hibernate,Hibernate,嗨,我可以添加记录,但不能删除记录 它给出了以下错误: [ERROR] 2010-02-20 13:38:16 (JDBCExceptionReporter.java:logExceptions:78) ORA-02292: integrity constraint (BANKNET.FK_DDA_DEAL_ADVISOR) violated - child record found [ERROR] 2010-02-20 13:38:16 (AbstractFlushingEventListen
[ERROR] 2010-02-20 13:38:16 (JDBCExceptionReporter.java:logExceptions:78) ORA-02292: integrity constraint (BANKNET.FK_DDA_DEAL_ADVISOR) violated - child record found
[ERROR] 2010-02-20 13:38:16 (AbstractFlushingEventListener.java:performExecutions:301)
Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: could not delete: [com.bofa.crme.dda.domain.ManualDDAData#10041]
以下是我的映射文件:
子表:
<hibernate-mapping>
<class name="com.bofa.crme.dda.domain.DealAdvisor" table="DDA_DEAL_ADVISOR" schema="BANKNET">
<composite-id name="comp_id" class="com.bofa.crme.dda.domain.DealAdvisorPK">
<key-property name="advisorNm" column="ADVISOR_NM" type="java.lang.String" length="100" access="property"/>
<key-many-to-one name="ddaDeal" column="DDA_DEAL_NO" class="com.bofa.crme.dda.domain.ManualDDAData" />
</composite-id>
<property name="modifiedBy" column="MODIFIED_BY" type="java.lang.String" update="true" insert="true" access="property" />
<property name="modifiedDt" column="MODIFIED_DATE" type="java.util.Date" update="true" insert="true" access="property"/>
</class>
</hibernate-mapping>
父表:
<hibernate-mapping>
<class name="com.bofa.crme.dda.domain.ManualDDAData" table="DDA_DEAL" schema="BANKNET" >
<id name="ddaDealNumber" column="DDA_DEAL_NO" type="java.lang.Long">
<generator class="sequence">
<param name="sequence">BANKNET.DDA_DEAL_ID_SEQ</param>
</generator>
</id>
<property name="clientGCI" type="java.lang.String" update="true" insert="true" access="property" column="GCI" />
<set name="dealAdvisors" inverse="true" cascade="all,all-delete-orphan" lazy="false">
<key column="DDA_DEAL_NO" not-null="true" on-delete="cascade"/>
<one-to-many class="com.bofa.crme.dda.domain.DealAdvisor" />
</set>
</class>
</hibernate-mapping>
BANKNET.DDA_交易_ID_SEQ
有人知道它为什么不工作吗?您确定在数据库中正确定义了on delete约束吗?这里有一个很好的解释on delete=“cascade”的作用您应该更好地格式化xml,使其更易于阅读唯一突出的是父表中dealAdvisors关联上的级联选项。您已指定全部,全部删除操作。通常我希望看到所有删除孤立项或所有删除孤立项。我想知道当同时使用all和all orphan delete时是否存在冲突。