一對一主鍵關聯對映(單向person---->idcard)
原理:讓兩個實體的主鍵一樣,這樣就不需要加入多餘的字段了。
舉例:乙個人(person)擁有一張身份證(idcard)。
一對一主鍵關聯對映(雙向person<---->idcard)
原理:與上面單項相同,只是需要兩端都需要維護。
舉例:同上。
person的對映檔案不變,和上面相同。idcard的對映檔案idcard.hbm.xml。
在物件模型中,person和idcard各自都持有對方的引用,在配置方面,需要在idcard加入標籤,只是hibernate將關聯物件person根據主鍵載入上來。不影響儲存,只影響載入。
一對一唯一外來鍵關聯對映(單向person---->idcard)
原理:一對一唯一外來鍵關聯對映其實是多對一的特例,因此和上篇講過的原理相同。
舉例:同上。
person物件對映檔案person.hbm.xml。
[html]
採用標籤來對映,指定多的一端unique為true,這樣就限制了多的一端的多重性為一。
一對一唯一外來鍵關聯對映(雙向person<---->idcard)
原理:同上。
舉例:同上。
person對映檔案不變,和上面相同。idcard的對映檔案idcard.hbm.xml
從物件模型看,雙方都各自持有對方的引用。從配置看,一對一唯一外來鍵關聯雙向採用標籤對映,必須指定標籤中的property-ref屬性為關係欄位的名稱,它表示本類(idcard)的主鍵將會與關聯類(person)的此屬性(idcard)相對應。
多對多關聯對映(單向user---->role)
原理:一般的設計中,多對多關聯對映,需要乙個中間表,將兩個表中的主鍵放到中間表中做乙個關聯。
舉例:乙個使用者(user)對多個角色(role),乙個角色對多個使用者。
user物件的對映檔案user.hbm.xml。
[html]
多對多的關聯對映,在實體類中,跟一對多一樣,也是用集合來表示的。標籤中用table屬性重新命名中間表名稱,標籤定義當前表的主鍵,用標籤來關聯另一張表。
多對多關聯對映(雙向user<---->role)
原理:同上。
舉例:同上。
user物件的對映檔案和上面相同。role的對映檔案role.hbm.xml。
Hibernate 物件關係對映
1 例如使用者和組的關係就是多對一關係,多個使用者對應乙個組。2 將實體對映成表。多對一關聯對映在多的一端來維護關聯字段,在使用者一端來維護關係字段 user.hbm.xml檔案 group.hbm.xml檔案 3 在這裡我們看的 就看 hbm.mlx 因為對於類之間的關聯,在實現時,乙個類作為另乙...
Hibernate物件對映關係
單錶繼承對映 每棵類繼承樹使用乙個表。對映檔案extends.hbm.xml。html 因為類繼承樹肯定是對應多個類,要把多個類的資訊存放在一張表中,必須有某種機制來區分哪些記錄是屬於哪個類的。這種機制就是,在表中新增乙個字段,用這個欄位的值來進行區分。用hibernate實現這種策略的時候,有如下...
Hibernate的核心物件關係對映
hibernate的核心就是物件關係對映 1 第一掌握對映檔案的書寫 2 第二掌握如何對映某乙個物件,以及class裡面主鍵和普通欄位的設定。注意 property的column屬性的值不能是sql語句的關鍵字,比如desc關鍵字做描述的時候,如果非要使用,可以使用 shift 反引號,不然就要改列...