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 但是,所對應的是同一個值,所以,一般把它都設置爲同一個字段!