多對多

  1. 數據庫的多對多
    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會字段關聯橋表以及關聯表查詢出關聯對象
    
  2. hibernate的多對多
    2.1 hibernate可以直接映射多對多關聯關係(看作兩個一對多)

  3. 多對多關係注意事項
    3.1 一定要定義一個主控方
    3.2 多對多刪除
    3.2.1 主控方直接刪除
    3.2.2 被控方先通過主控方解除多對多關係,再刪除被控方
    3.2.3 禁用級聯刪除
    3.3 關聯關係編輯,不需要直接操作橋接表,hibernate的主控方會自動維護

案例:
自關聯查詢 菜單表
多對多級聯查詢 書籍表、書籍類別表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章