在平常的數據庫建設中,我們經常回爲了簡化表的設計使其顯得不太臃腫,而採取外鍵字段的方式建立兩張表之間的聯繫。
在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>
好了,這時如果我們刪除一的一方,那麼引用他主鍵作爲外鍵的記錄也將被刪除。