一、一對一對映
如人(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關聯關係對映,包括單向關聯和雙向關聯,而 單向關聯又有 一對一外來鍵單向關聯 一對一主鍵單向關聯 一對一連線表單向關聯 一對多外來鍵單向關聯 一對多連線表單向關聯 多對一外來鍵單向關聯 多對一連線表單向關聯 多對多單向關聯 雙向關聯有 一對一外來鍵雙向關聯 一對一主鍵雙向關聯 一對...