關聯的多對多

2021-08-30 04:15:47 字數 497 閱讀 1861

一,資料庫的多對多

a.資料庫中不能直接對映多對多

處理:建立乙個橋接表(中間表),將乙個多對多關係轉換成兩個一對多

注1:資料庫多表聯接查詢,永遠就是二個表的聯接查詢

注2:交叉連線

注3:外連線:left(左)/right(右)/full(左右)

主從表:連線條件不成立時,主表記錄永遠保留,與null匹配

在hibernate中,你只管查詢當前表物件即可,

hibernate會欄位關聯橋表以及關聯表查詢出關聯物件

二, hibernate的多對多

hibernate可以直接對映多對多關聯關係(看作兩個一對多)

多對多關係注意事項

a. 一定要定義乙個主控方

b. 多對多的刪除是主控方直接刪除

c. 被控方先通過主控方解除多對多關係,再刪除被控方

d. 禁用級聯刪除

e. 關聯關係編輯,不需要直接操作橋接表,hibernate的主控方會自動維護

雙向關聯多對多

inverse 反轉 1 inverse false 表示為主控方,主控方負責維護關聯關係,一般在一對多關係中,把多的一方設定為inverse false 2 lazy false表示是延遲載入,當為true時,啟動延遲載入,如兩個關聯a,b不延遲載入時可能載入a時候,也把b載入了,但你可能沒用b,...

hibernate多對多的關聯

資料庫的多對多 資料庫中不能直接對映多對多 處理 建立乙個橋接表 中間表 將乙個多對多關係轉換成兩個一對多 注1 資料庫多表聯接查詢 永遠就是二個表的聯接查詢 a b c d t1 c t2 d t3注2 交叉連線 注3 外連線 left 左 right 右 full 左右 主從表 連線條件不成立時...

Hibarnate關聯關係 多對多

在hibarbate如果你想實現許可權表的話,我們可以使用一對多的自關聯關係來實現 首先實體類 public class treenode提供set get方法,這裡可以看到 set treenode children 這裡面放的是自己,所以他是自關聯關係。在xml裡的配置如下 因為是自關聯,所以兩...