物件關係對映

2021-05-25 23:36:24 字數 1008 閱讀 7264

雙向一對一對映

class  card

把關係的維護交給多方物件的屬性去維護關係

c)  關係的擁有方負責關係的維護,在擁有方建立外來鍵。所以用到@joincolumn

cascade      設定級聯關係,這種關係是遞迴呼叫

可以是 cascadetype.persist(級聯新建)cascadetype.remove(級聯刪除)cascadetype.refresh(級聯刷 新)cascadetype.merge(級聯更新)cascadetype.all(全部級聯)

fetch             預載入策略和@basic差不多fetchtype.lazy, fetchtype.eager

optional       設定關聯實體是否必須存在false必須存在 即不是隨意的,true關聯實體可以不存在即是隨意 的。

比如card(身份證)中的person(人)optional為false意味有身份證就必須有人對應,但是在實體person中card的optional為true意味有人不一定要有身份證。

@joincolumn(name="cardid",referencedcolumnname="cid")設定外來鍵,

name該外來鍵的欄位名,referencedcolumnname外來鍵對應主表的字段

所以要在person端的關聯項設定外來鍵@joincolumn

雙向一對多與多對一 ,單向一對多與多對一     @onetomany @manytoone   其它的可以參考上面的

雙向多對多(實際開發中多對多通常是雙向的)

@jointable(

name="teacher_student",

joincolumns=,

inversejoincolumns=

joincolumns寫的都是本表在中間表的外來鍵名稱,
inversejoincolumns寫的是另乙個表在中間表的外來鍵名稱。
單向多對多 更加簡單略

物件關係對映

雙向一對一對映 class card 把關係的維護交給多方物件的屬性去維護關係 c 關係的擁有方負責關係的維護,在擁有方建立外來鍵。所以用到 joincolumn cascade 設定級聯關係,這種關係是遞迴呼叫 可以是 cascadetype.persist 級聯新建 cascadetype.re...

hibernate物件關係對映

一對一主鍵關聯對映 單向person idcard 原理 讓兩個實體的主鍵一樣,這樣就不需要加入多餘的字段了。舉例 乙個人 person 擁有一張身份證 idcard 一對一主鍵關聯對映 雙向person idcard 原理 與上面單項相同,只是需要兩端都需要維護。舉例 同上。person的對映檔案...

Hibernate 物件關係對映

1 例如使用者和組的關係就是多對一關係,多個使用者對應乙個組。2 將實體對映成表。多對一關聯對映在多的一端來維護關聯字段,在使用者一端來維護關係字段 user.hbm.xml檔案 group.hbm.xml檔案 3 在這裡我們看的 就看 hbm.mlx 因為對於類之間的關聯,在實現時,乙個類作為另乙...