Hibernate—— 一對(duì)多映射

MyEclipse——環(huán)境下


映射的類型

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

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

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

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


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

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

例如:班級(jí)跟學(xué)生(一對(duì)多)

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

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

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

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è)包,用來存儲(chǔ)持久化類和映射文件

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

4.2
4.2.1
4.2.2
4.2.3

第五步、測(cè)試

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


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

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

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

(一對(duì)多)

set 元素





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

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

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

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


需要兩步:

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

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

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



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

? ? ? ? ? ? ? ? ? 單向的一對(duì)多 ? ? ? ? ? 多對(duì)一

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

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

班級(jí)類?映射 一方

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

查詢操作



課程總結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容