單向一對多
實體配置:在一的實體中設定多的一方set集合
配置檔案:在一的一方用set 設定 one to many
表配置:多方表的外來鍵指向一方表的主鍵;
雙向一對多
實體配置:在一的實體中設定多的一方set集合,在多的一方的實體中配置一的一方的屬性
配置檔案:在一的一方用set 設定 one to many,對多的一方設定many-to-one
表配置:多方表的外來鍵指向一方表的主鍵;
讓某一方放棄外來鍵的維護,為多對多對映做準備: inverse
在修改客戶和聯絡人的關係時,進行雙向關聯,雙方都會維護外來鍵,會產生多餘的 sql 語句.
產生的原因: session 的一級快取中的快照機制,會讓雙方都更新資料庫,產生了多餘的 sql 語句.
如果不想產生多餘的 sql 語句,那麼需要一方來放棄外來鍵的維護, 由多方來維護!
// 放棄外來鍵維護
// customer.hbm.xml 進行如下配置
// true 表示放棄; 預設值為 false
多對多對映
實體配置:雙方都有set集合
配置檔案: 在多的一方配置另乙個多的一方,需要中間表 // 配置多對多
// name 表示集合的名稱
// table 表示中間表的名稱
// 當前物件在中間表的外來鍵名稱
// class : 集合中存入的物件,物件的全路徑
// column: 集合中物件,在中間表的外來鍵名稱
表配置:需要中間表,中間表的外來鍵指向兩個表的主鍵;
單向一對一主鍵關聯
實體配置:配置被控制端的實體
配置檔案:需要在控制端配置被控制端,
主鍵生成策略 因為主鍵跟外來鍵是同乙個,所以直接在這裡申明該主鍵就是外來鍵,並且指向了被控制端這個類
雙向一對一主鍵關聯
實體配置:在控制端配置被控制端的實體,在被控端配置控制端的實體
配置檔案:需要在控制端配置被控制端,
主鍵生成策略 因為主鍵跟外來鍵是同乙個,所以直接在這裡申明該主鍵就是外來鍵,並且指向了被控制端這個類
被控制端配置:
單向一對一外來鍵關聯 多對一的乙個特例
實體配置:在被看做多的一端配置另一端的乙個實體
配置檔案:在被看做多的一端配置
流程總結 Hibernate對映實體
1 寫注釋 格式為 屬性,表達的是本物件與?的?關係 例如 department屬性,本物件與department的多對一的關係 2 拷模板 多對一 一對多 set 多對多 set 3 填空 name屬性 屬性名 注釋中的第1個問號 class屬性 關聯的實體型別 注釋中的第2個問號 column屬...
對映檔案 Hibernate 對映檔案
乙個物件 關係型對映一般定義在 xml 檔案中。對映檔案指示 hibernate 如何將已經定義的類或類組與資料庫中的表對應起來。儘管有些 hibernate 使用者選擇手寫 xml 檔案,但是有很多任務具可以用來給先進的 hibernate 使用者生成對映檔案。這樣的工具包括xdoclet,mid...
hibernate實體對映
1.寫注釋 格式為 屬性,表示本類的?關係 例如 2.寫模板 多對一 一對多 多對多 注 多對多中的table 表示填入中間 的名稱 3.填空 name屬性 屬性名 注釋中的第1問號 class屬性 關聯的實體型別 注釋中的第2個問號 column屬性 多對一中的 一般可以寫成屬性名加id字尾,如屬...