hibernate 筆記(二)-----one2many

hihernate一對多關聯映射(單向Country----->Province)

      一對多關聯映射利用了多對一關聯映射原理

       多對一關聯映射:在多的一端加入一個外鍵指向一的一端,它維護的關係是多指向一
       一對多關聯映射:在多的一端加入一個外鍵指向一的一端,它維護的關係是一指向多

       也就是說一對多和多對一的映射策略是一樣的,只是站的角度不同

 

 

Province 只要配置相對應的普通屬性即可。

 

hihernate一對多關聯映射(雙向Country----->Province)

一對多雙向關聯映射:
 * 在一一端的集合上使用<key>,在對方表中加入一個外鍵指向一一端
 * 在多一端採用<many-to-one>
 
注意:<key>標籤指定的外鍵字段必須和<many-to-one>指定的外鍵字段一致,否則引用字段的錯誤
 
如果在”一“一端維護一對多關聯關係,hibernate會發出多餘的udpate語句,所以我們一般在多
的一端來維護關聯關係

關於inverse屬性:
 inverse主要用在一對多和多對多雙向關聯上,inverse可以被設置到集合標籤<set>上,
 默認inverse爲false,所以我們可以從”一“一端和”多“一端維護關聯關係,
 如果設置成inverse爲true,則我們只能從多一端來維護關聯關係
 
 注意:inverse屬性,隻影響數據的存儲,也就是持久化
  
inverse和cascade
 * inverse是關聯關係的控制方向
 * cascade操作上的連鎖反應

 

 

Country中保持不變

 

Province中加入  Country的引用

 

 

 

這裏可以設置兩個countryid 但是,所對應的是同一個值,所以,一般把它都設置爲同一個字段!

 

發佈了34 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章