hibernate一對一主鍵關聯映射(雙向關聯Person<---->IdCard)
需要在idcard映射文件中加入<one-to-one>標籤指向person,指示hibernate如何加載person
默認根據主鍵加載
在Person中持有IdCard 的引用,同時,在IdCard中也持有Person引用。
一對一主鍵關聯映射:讓兩個實體對象的id保持相同,這樣可以避免多餘的字段被創建
hibernate一對一唯一外鍵關聯映射(雙向關聯Person<---->IdCard)
一對一唯一外鍵關聯雙向,需要在另一端(idcard),添加<one-to-one>標籤,指示hibernate如何加載
其關聯對象,默認根據主鍵加載person,外鍵關聯映射中,因爲兩個實體採用的是person的外鍵維護的關係,
所以不能指定主鍵加載person,而要根據person的外鍵加載,所以採用如下映射方式:
<one-to-one name="person" property-ref="idCard"/>
hibernate一對一唯一外鍵關聯映射(單向關聯Person---->IdCard)
一對唯一外鍵關聯映射是多對一關聯映射的特例
可以採用<many-to-one>標籤,指定多的一端的unique=true,這樣就限制了多的一端的多重性爲一
通過這種手段映射一對一唯一外鍵關聯
我對單向和雙向的瞭解就是:
單向:只有一方持有另一方的引用。查找時,只能通過一方去查找另一方。
雙向:就是兩方都持有各自的引用,查找時,無論從那一方都能查找到另一方的信息