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自己帶有的)
第一步:在數(shù)據(jù)庫視圖下創(chuàng)建數(shù)據(jù)庫連接
第二步、創(chuàng)建數(shù)據(jù)庫的連接
第三步、為項(xiàng)目添加Hibernate支持
第四步、使用MyEclipse反向工程生成映射關(guān)系
4.1 創(chuàng)建一個(gè)包,用來存儲持久化類和映射文件
4.2 切換到 數(shù)據(jù)庫視圖
第五步、測試
案例講解:(單向一對多)
實(shí)體類映射配置文件中的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é)生類的)
雙向多對一(班級——>學(xué)生,學(xué)生——>班級)
? ? ? ? ? ? ? ? ? 單向的一對多 ? ? ? ? ? 多對一
inverse屬性的使用——用來指定關(guān)聯(lián)關(guān)系的維護(hù)
cascade屬性——級聯(lián)的操作
課程總結(jié)