Hibernate中的實體對映

2022-09-04 05:18:11 字數 1642 閱讀 1166

一、一對一對映

如人(person)與身份證(idcard) 的關係,即為一對一的關係,乙個人只能有一張身份證,一張身份證只能屬於某乙個人,它們的關係圖如下圖所示:

在person實體中新增乙個屬性idcard表示對idcard實體的引用,在person中的配置如下:

#表示該錶持有外來鍵

雙向一對一:

需要在兩邊實體類中增加引用關聯實體的屬性:

在person端的配置:#表示該錶持有外來鍵

在idcard端的配置:#property-ref指定引用關聯類的屬性

二、一對多對映

如快遞網點(expsite)與快遞員(deliver)的關係,即為一對多關係,乙個快遞網點有多個快遞員,乙個快遞員只能屬於某個快遞網點,他們的關係如下圖所示:

在一對多中,外來鍵在多的一方

(1)在多的一方配置外來鍵

deliver表為多方,

在deliver實體類中放乙個

expsite

方的引用做屬性(外來鍵),即所屬網點expsite;

deliver

實體類配置檔案:

expsite

" class="expsite實體所在的包名+expsite實體的名" column="

expsiteid(外來鍵字段)

">

(2)在一這方配置集合屬性 

expsite表為一方,

在expsite實體類中放乙個

deliver

方的set集合做屬性,假設是 set<

deliver

> d

eliverlist

= new hashset<

deliver

>();

deliverlist

">

expsiteid(外來鍵字段)

">

deliver實體

所在的包名+

deliver

實體的名">

>

三、多對多對映

如使用者(user) 與角色(role)的關係,即為多對多的關係,乙個使用者可以有對個角色,乙個角色也可被多個使用者所擁有,它們的關係圖如下圖所示:

多對多關係通過中間表(user_role)進行聯絡,外來鍵放在中間表中,在user實體中新增乙個屬性roles表示對role的引用,類似的在role實體中新增users表示對user的引用,

user端的配置:

role

實體所在的包名+

role

實體的名" column="role_id"/>

role端的配置:

user

實體所在的包名+

user

實體的名" column="user_id"/>

hibernate實體對映

1.寫注釋 格式為 屬性,表示本類的?關係 例如 2.寫模板 多對一 一對多 多對多 注 多對多中的table 表示填入中間 的名稱 3.填空 name屬性 屬性名 注釋中的第1問號 class屬性 關聯的實體型別 注釋中的第2個問號 column屬性 多對一中的 一般可以寫成屬性名加id字尾,如屬...

Hibernate 實體關聯關係對映

hibernate 實體關聯關係對映 花了三天的業餘時間,終於寫完了hibernate關聯關係對映的所有例項,感覺還應該總結一下。hibernate對映關係錯綜複雜,在實際中真的都能用到嗎?不用行嗎?在我看來,hibernate提供這些對映關係,常用就是一對一和多對一,並且在能不用連線表的時候盡量不...

Hibernate實體關聯對映關係

hibernate關聯關係對映,包括單向關聯和雙向關聯,而 單向關聯又有 一對一外來鍵單向關聯 一對一主鍵單向關聯 一對一連線表單向關聯 一對多外來鍵單向關聯 一對多連線表單向關聯 多對一外來鍵單向關聯 多對一連線表單向關聯 多對多單向關聯 雙向關聯有 一對一外來鍵雙向關聯 一對一主鍵雙向關聯 一對...