2009-05-01 110 views
0

我有一個課程對象。課程對象有一組教程和一組應用程序。 當我刪除一個課程對象時,我想要關聯的一組教程和應用程序被刪除。 我course.hbm如下冬眠刪除

和我application.hbm包含

<property name="appdatetime" type="timestamp"> 
     <column name="appdatetime" length="19" /> 
    </property> 
    <property name="appstatus" type="java.lang.Integer"> 
     <column name="appstatus" /> 
    </property> 
    <property name="apptype" type="java.lang.Integer"> 
     <column name="apptype" /> 
    </property> 

    <many-to-one name="course" column="cid"/> 
    <many-to-one name="employee" column="empid" /> 
</class> 

回答

0

設置級聯=「刪除孤兒,所有」,並刪除操作將會向下級聯到教程和應用程序,並刪除它們,以及如果他們孤立的(未連接到任何其他課程)。

我們使用hibernate註釋,所以我不確定是否需要添加確切的xml,但是從文檔看來,cascade =「all-delete-orphan」應該位於每個集合定義上。

+0

感謝您的答覆。但我試着在course.hbm中設置此屬性,並試圖刪除,但教程和應用程序不geting刪除。 不是我在應用程序中映射。 我需要在coure.hbm或tutotials.hbm和application.hbm中設置此屬性? – user93796 2009-05-01 06:49:37

+0

嘿,我已經發布我的application.hbm在這裏只是看看。 – user93796 2009-05-01 06:53:16

0

雖然在hibernate上可能會這樣做,但正確方法(確保數據庫始終保持完整性)是在數據庫級別上使用CASCADE ON DELETE約束。檢查您的數據庫文檔的詳細信息