Hibernate 級聯刪除

在一對多的關係映射中

在一的一方配置文件中將會配置set節點信息:

*.hbm.xml配置文件中set節點的屬性:

         Lazy:默認是true 即使用延遲加載,false表示即時加載;

         Order-by:一的一方set集合內多的一方實體集合的排序方式 默認是主鍵排序 但可以更改;

         Cascade:是否使用級聯操作;配置方法:cascade的值有四個,如使用all表示對所有操作都級聯;

         Inverse:反轉。True表示由對方負責控制,false表示由自己控制。

 

 

級聯刪除:(在一的一方的配置文件中set節點進行配置)

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

         把set節點的屬性inverse的值改爲true:

         就可以實現級聯刪除了,即刪除一的一方後,在多的一方中引用到一的一方的主鍵的全部記錄將會被刪除

 

 

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

一的一方:

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

         <key>

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

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

         <key>

</se>


 

多的一方:

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

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

</many-to-one>

 

 

更改配置文件信息後就可以實現級聯刪除了,即刪除一的一方後,在多的一方中引用到一的一方的主鍵的全部記錄將會被刪除

 

 

粗略的總結了一下  有錯之處希望有朋友看到了多多指正。

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