hibernate的多對多

2021-08-30 06:43:23 字數 358 閱讀 3005

多對多關聯是hibernate中一種比較特殊的關聯,它需要借助中間表來完成多對多資訊的儲存。多對多關聯只有雙向關聯。

資料庫的多對多:資料庫中不能直接對映多對多

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

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

多對多關係注意事項:

1 一定要定義乙個主控方;

2 多對多刪除:

a.主控方直接刪除

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

c. 禁用級聯刪除

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

hibernate的多對多

近日工作中遇到多對多,以前未曾用過hibernate,這次也算是摸著石頭過河。之前試驗了級聯的cascadetype.all,卻發現當刪除部門表的時候,中間表資料刪除了,結果將人員表相關聯的資料也全部刪除了。後來將級聯改為cascadetype.persist,cascadetype.merge,倒...

hibernate的多對多

1.herbernate一對多自關聯 樹形選單查詢可能出現的問題 當載入一級節點的時候沒問題 強制載入 載入二級載入時候,由於設定了強制載入,同樣可以載入出所有的二級節點。沒問題 載入 節點時,這是session關閉了,並且預設採用的是懶載入 許可權選單載入有兩種方式 1 一次性將資料庫表中的資料全...

Hibernate多對多查詢

乙個老師教許多學生,乙個學生被許多老師教,乙個學生有好多書,同一種書被許多同學擁有.要查詢教擁有書 a 的學生的老師 hql如何寫呀?如何取值?classteacher classstudent classbook hql語句 select t from teacher t join t.stude...