1.HQL多表查詢的基礎
hibernate兩表查詢
EMP(員工表) 和 DEPT(部門表)
多對一 :相對於員工,對個員工對應一個部門
一對多:相對於部門,一個部門對應對個員工
EMP 多方
DEPT 一方
one方 : bag/set 要指定外鍵
one-to-many class必須寫 寫多方類名 有外鍵的方 寫 many-to-one 無外鍵的方加 one-to-many
多方: many-to-one column="外鍵" class="one 方類名"
一般情況下由多方維護關聯關係
在one方的映射文件的bag標籤添加inverse="true 意思是讓多方維護(因爲反轉給了對方)
inverse 默認值是false
inverse: 倒數反選顛倒的相反
級聯操作:可以在多方和one同時添加,一般在one方進行
級聯添加: 在新增部門的同時新增相應的員工
級聯刪除:在刪除部門的同時級聯刪除該部門下的所有員工
one方:bag標籤添加cascade(級聯)屬性 save delete all(save +delete)
在刪除one方的同時級聯刪除其下的所有多方對象
直接刪除one方 (先查後刪)
通過one方刪除多方對象 cascade:delete-orphan
bag: all-delete-orphan : save delete delete-orphan
通過部門刪除員工
例如:刪除部門下的某個員工 (部門保留)