hibernate的級聯刪除特性

在平常的數據庫建設中,我們經常回爲了簡化表的設計使其顯得不太臃腫,而採取外鍵字段的方式建立兩張表之間的聯繫。

在hibernate中,這一關係通過onetomany的方式實現。下面看看什麼是級聯刪除:

級聯刪除: 即刪除一的一方後,在多的一方中引用到一的一方的主鍵的全部記錄將會被刪除(在一的一方的配置文件中set節點進行配置)。他有兩個主要用到的屬性:

       (1)cascade:cascade的值有四個,如使用all表示對所有操作都級聯;

       (2)inverse:把set節點的屬性inverse的值改爲true;即關係由對方控制。

給配置文件加上配置信息例下:

一的一方:


<set name=”多的一方的表名(hibernate中寫實體名)”  inverse=”true” cascade=”all”> 

 <key>  

    <column name=”一的一方的主鍵” not-null=”true”/>  

    <one-to-many class=”類的完整路徑”/>  

</key>

</set> 

多的一方:

<many-to-one name=”一的一方的表明(hibernate中爲實體名)”  class=”類的完整路徑”/> 
  <column name=”一的一方的主鍵” not-null=”true” />  
</many-to-one>  


 好了,這時如果我們刪除一的一方,那麼引用他主鍵作爲外鍵的記錄也將被刪除。



 


發佈了41 篇原創文章 · 獲贊 14 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章