一,資料庫的多對多
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裡的配置如下 因為是自關聯,所以兩...