2010-02-20 110 views
1

嗨我能夠添加記錄,但無法刪除記錄。無法刪除

它提供了以下錯誤:

[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> 

誰知道爲什麼這是不行的ing?

+0

您應該更好地格式化xml以使其更易於讀取 – 2010-02-20 09:29:18

+1

唯一突出的是您的父表中的dealAdvisors關聯中的級聯選項。 您已指定all,all-delete-oprhan。通常我會希望看到全刪除孤立或全部刪除孤兒。我想知道在使用全部和全部孤立刪除時是否存在衝突。 – 2010-02-20 09:53:24

回答