Hibernate—— 一對多映射

MyEclipse——環(huán)境下


映射的類型

1、一對多映射 ?(one-to-many) 常用

2、多對一映射 (many-to-one)? 常用

3、一對一映射 ?(one-to-one)

4、多對多映射 ?(many-to-many)


單向一對多映射(班級——>學(xué)生)

? ? ? ? ? ? ? ? ? ?一個(gè)班級 有 多名學(xué)生

例如:班級跟學(xué)生(一對多)

那怎么樣實(shí)現(xiàn)這種關(guān)系呢?

1.在數(shù)據(jù)庫中,可以通過添加主外鍵的關(guān)聯(lián),表現(xiàn)一對多的關(guān)系;

2.在java中,通過在一方持有多方的集合實(shí)現(xiàn),即在“一”的一端中使用<set>元素表示持有“多”的一端的對象。

MyEclipse下搭建Hibernate

還有一種:(MyEclipse自己帶有的)

第一步:在數(shù)據(jù)庫視圖下創(chuàng)建數(shù)據(jù)庫連接

第一步。數(shù)據(jù)庫視圖

第二步、創(chuàng)建數(shù)據(jù)庫的連接

第二步。數(shù)據(jù)庫的連接

第三步、為項(xiàng)目添加Hibernate支持

3。
3.1
3.2
3.3
3.4。生成完過后的項(xiàng)目結(jié)構(gòu)

第四步、使用MyEclipse反向工程生成映射關(guān)系

4.1 創(chuàng)建一個(gè)包,用來存儲持久化類和映射文件

4.2 切換到 數(shù)據(jù)庫視圖

4.2
4.2.1
4.2.2
4.2.3

第五步、測試

數(shù)據(jù)類型
測試類


案例講解:(單向一對多)

項(xiàng)目結(jié)構(gòu)
hibernate.cfg.xml 配置文件
班級類
學(xué)生類
班級實(shí)體類的 映射文件
學(xué)生實(shí)體類的 映射文件
工具類 1
工具類 2
測試類 1
測試類 2
測試類 3
測試類 4
測試類 5

實(shí)體類映射配置文件中的set元素的常用屬性

(一對多)

set 元素





單向多對一簡介(學(xué)生——>班級)

? ? ? ? ? ?多個(gè)學(xué)生對應(yīng)一個(gè)班級

多對一的關(guān)系和關(guān)系數(shù)據(jù)庫中的外鍵參照關(guān)系最匹配,即在己方的表中的一個(gè)外鍵參照另一個(gè)表的主鍵

·通過在多方持有一方的引用實(shí)現(xiàn),需要在“多”端的一端使用 配置


需要兩步:

? ? ? ? ? ? 第一步:在多方持久化類中(學(xué)生類)中定義一個(gè)一方的引用(班級類)

? ? ? ? ? ? 第二步:去對應(yīng)的映射文件里面做相應(yīng)的修改(學(xué)生類的)

項(xiàng)目結(jié)構(gòu)
學(xué)生實(shí)體類(多方)
學(xué)生實(shí)體類 映射文件
班級實(shí)體類 映射文件
測試類



雙向多對一(班級——>學(xué)生,學(xué)生——>班級)

? ? ? ? ? ? ? ? ? 單向的一對多 ? ? ? ? ? 多對一

項(xiàng)目結(jié)構(gòu)圖
班級類 ?映射文件
學(xué)生類 映射文件
測試類

inverse屬性的使用——用來指定關(guān)聯(lián)關(guān)系的維護(hù)

班級類?映射 一方

cascade屬性——級聯(lián)的操作

查詢操作



課程總結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 再開始本次知識點(diǎn)之前,我們先來思考下get與load的區(qū)別。 對于Hibernate get方法,Hibernat...
    FTOLsXD閱讀 363評論 0 1
  • 其實(shí)和多對一本質(zhì)上是一樣的,也是在many的一方加一個(gè)字段作為外鍵,指向one的一方的主鍵,只是加載的時(shí)候不一樣。...
    yjaal閱讀 318評論 0 1
  • 作為一種輕量級的關(guān)系映射工具,Hibernate支持各種關(guān)系映射,例如:多對一、一對多和一對一的數(shù)據(jù)庫表關(guān)系,通過...
    Ystrator閱讀 540評論 0 1
  • 一.單向一對多的關(guān)聯(lián) 通過在 一 方使用 元素標(biāo)識 多的對象;班級對象代表一, 學(xué)生對象代表多數(shù)據(jù)結(jié)構(gòu)中班級表學(xué)生...
    liangxifeng833閱讀 458評論 0 0
  • 秋來春去,誰憐曲院風(fēng)荷,韶華白首,不過浮生一闕。
    南桑s閱讀 251評論 0 0