hibernate中的關聯對映

2021-08-31 12:32:50 字數 1235 閱讀 3689

關聯對映的本質:

定義: 將關聯關係對映到資料庫,所謂的關聯關係是物件模型在記憶體中的乙個或多個引用,匯出多個表,把他們之間的關係確定好。

hibernate多對一關聯對映

會在多的一端加入乙個外來鍵,指向一的一端,這個外來鍵是由

中的column屬性定義的,如果忽略了這個屬性那麼預設的外來鍵與實體的屬性一致

標籤的定義示例:

* 理解級聯的含義?

cascade="all"

* 是物件的連鎖操作 

hihernate一對多關聯對映(單向classes----->student)

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

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

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

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

hihernate一對多關聯對映(雙向classes<----->student)

一對多雙向關聯對映:

* 在一一端的集合上使用,在對方表中加入乙個外來鍵指向一一端

* 在多一端採用

注意:標籤指定的外來鍵字段必須和指定的外來鍵字段一致,否則引用欄位的錯誤

hibernate一對一主鍵關聯對映(單向關聯student---->card)

一對一主鍵關聯對映:讓兩個實體物件的id保持相同,這樣可以避免多餘的字段被建立

具體對映:

card

hibernate一對一主鍵關聯對映(雙向關聯students<---->card)

需要在idcard對映檔案中加入標籤指向student,指示hibernate如何載入student

hibernate一對一唯一外來鍵關聯對映(單向關聯person---->idaddress)

一對唯一外來鍵關聯對映是多對一關聯對映的特例

可以採用標籤,指定多的一端的unique=true,這樣就限制了多的一端的多重性為一

通過這種手段對映一對一唯一外來鍵關聯

hibernate一對一唯一外來鍵關聯對映(雙向關聯person<---->idaddress)

一對一唯一外來鍵關聯雙向,需要在另一端(idcard),新增標籤,指示hibernate如何載入

其關聯物件,預設根據主鍵載入person,外來鍵關聯對映中,因為兩個實體採用的是person的外來鍵維護的關係,

所以不能指定主鍵載入person,而要根據person的外來鍵載入,所以採用如下對映方式:

Hibernate關聯對映

單向關聯關係 單向1 1 和單向n 1配置唯一不一樣的地方是在many to one的標籤上加上unique true 即可完成1 1的對映 單向1 n public class person public int getid public void setid int id public stri...

Hibernate關聯對映

關聯對映分為 多對一關聯對映 一對一關聯對映 唯一外來鍵關聯 主鍵關聯 一對多關聯對映 多對多關聯對映 根據關聯關係鏈結的雙方是否能夠導航到彼此,我們將關聯關係分為單向關聯和雙向關聯 1.多對一關聯對映 many to one 我們使用元素來配置多對一關聯關係 name 待對映的持久化類的屬性名。c...

Hibernate關聯關係對映

1.單向一對一 1 主鍵關聯 兩個表通過主鍵建立一對一關聯關係,從表的主鍵由被關聯類生成。對映 class foreign name 關聯屬性的屬性名 class 持久化類 constrained true one to one 2 外來鍵關聯 兩張表的主鍵不同,通過在一張表中新增外來鍵來保持一對一...