多對多(1)
阿新 • • 發佈:2018-11-10
-
資料庫的多對多
1.1 資料庫中不能直接對映多對多
處理:建立一個橋接表(中間表),將一個多對多關係轉換成兩個一對多注1:資料庫多表聯接查詢
永遠就是二個表的聯接查詢A B C D t1 C t2 D t3
注2:交叉連線
注3:外連線:left(左)/right(右)/full(左右)
主從表:連線條件不成立時,主表記錄永遠保留,與null匹配A B AB select * from A,B,AB WHERE A.aID=AB.aID and b.bid = AB.bid where 在hibernate中,你只管查詢當前表物件即可, hibernate會自動關聯橋表以及關聯表查詢出關聯物件 Book Category Book_category select * from Book b,Book_category bc,category where b.bid = bc.bid and bc.cid = c.cid and bid = 2
-
hibernate的多對多
2.1 hibernate可以直接對映多對多關聯關係(看作兩個一對多) -
多對多關係注意事項
3.1 一定要定義一個主控方
3.2 多對多刪除
3.2.1 主控方直接刪除
3.2.2 被控方先通過主控方解除多對多關係,再刪除被控方
3.2.3 禁用級聯刪除
3.3 關聯關係編輯,不需要直接操作橋接表,hibernate的主控方會自動維護