三大框架之一關(guān)聯(lián)映射完整.ppt_第1頁
三大框架之一關(guān)聯(lián)映射完整.ppt_第2頁
三大框架之一關(guān)聯(lián)映射完整.ppt_第3頁
三大框架之一關(guān)聯(lián)映射完整.ppt_第4頁
三大框架之一關(guān)聯(lián)映射完整.ppt_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Hibernate 關(guān)聯(lián)映射,第二章,回顧與作業(yè)點(diǎn)評(píng),Hibernate的基本原理? Hibernate的優(yōu)勢? 使用Hibernate操作數(shù)據(jù)庫的步驟? 實(shí)體對象的三種狀態(tài)?,預(yù)習(xí)檢查,如何配置單向一對多關(guān)聯(lián)關(guān)系? 如何配置單向多對一關(guān)聯(lián)關(guān)系? 如何配置雙向一對多關(guān)聯(lián)關(guān)系? cascade屬性和inverse屬性的作用和區(qū)別? 如何配置多對多關(guān)聯(lián)關(guān)系?,本章任務(wù),完善租房網(wǎng)系統(tǒng): 實(shí)現(xiàn)街道和區(qū)的關(guān)聯(lián)管理 實(shí)現(xiàn)租房信息的發(fā)布,本章目標(biāo),掌握many-to-one關(guān)聯(lián) 掌握one-to-many關(guān)聯(lián) 掌握many-to-many關(guān)聯(lián),實(shí)體關(guān)聯(lián)關(guān)系,實(shí)體之間的關(guān)系 關(guān)聯(lián)關(guān)系 通過一個(gè)對象持有另一個(gè)

2、對象的實(shí)例 泛化關(guān)系 通過對象之間的繼承方法來實(shí)現(xiàn) 類與類之間最普遍的關(guān)系就是關(guān)聯(lián)關(guān)系 在UML 語言中,關(guān)聯(lián)是有方向的,單向多對一關(guān)聯(lián),在類與類之間各種各樣的關(guān)系中,多對一的單向關(guān)聯(lián)關(guān)系和關(guān)系數(shù)據(jù)庫中的外鍵參照關(guān)系最匹配 單向多對一關(guān)聯(lián)是最常見的單向關(guān)聯(lián)關(guān)系 在租房系統(tǒng)中從街道到區(qū)的關(guān)聯(lián)就是典型的多對一關(guān)聯(lián),租房系統(tǒng)中街道和區(qū)的實(shí)體類,public class District implements java.io.Serializable private Long id; private String name; /* 默認(rèn)的構(gòu)造方法 */ public District() /省略set

3、ter/getter方法 ,區(qū),public class Street implements java.io.Serializable private Long id; private District district; private String name; /* 默認(rèn)的構(gòu)造方法 */ public Street() public District getDistrict() return this.district; public void setDistrict(District district) this.district = district; / 省略部分setter/get

4、ter方法 ,街道,租房系統(tǒng)中街道和區(qū)的映射文件, ,District.hbm.xml, ,Street.hbm.xml,與Street 對應(yīng)的street 表是通過district_id 的值關(guān)聯(lián)至district 表的,設(shè)置關(guān)系的字段,設(shè)置關(guān)系的對象,many-to-one元素常用屬性,many-to-one 元素的常用屬性,配置映射文件并測試,hibernate.cfg.xml中指定映射文件 測試, ,指導(dǎo)實(shí)現(xiàn)單向多對一關(guān)聯(lián)關(guān)系,訓(xùn)練要點(diǎn) Hibernate配置文件配置 ORM 映射文件配置 雙向一對多關(guān)聯(lián) 需求說明 實(shí)現(xiàn)區(qū)和街道關(guān)聯(lián)關(guān)系 實(shí)現(xiàn)思路 編寫實(shí)體類。 在Street類中設(shè)置D

5、istrict屬性 編寫ORM 映射文件 修改Hibernate 配置文件 根據(jù)需求編寫業(yè)務(wù)類和Dao類,并進(jìn)行測試,完成時(shí)間:15分鐘,共性問題集中講解,常見調(diào)試問題及解決辦法 代碼規(guī)范問題,共性問題集中講解,單向一對多關(guān)聯(lián),由“一” 的一端加載“多” 的一端,關(guān)系由“一”的一端來維護(hù) 在JavaBean中是在“一”的一端中持有“多”的一端的集合 Hibernate把這種關(guān)系反映到數(shù)據(jù)庫的策略是在“多”的一端的表上加一個(gè)外鍵指向“一”的一端的表 在“一”的一端維護(hù)關(guān)系是不提倡的 將“多”的一端的外鍵添加非空約束,導(dǎo)致數(shù)據(jù)不能插入 插入數(shù)據(jù)效率降低,實(shí)體類,映射文件,設(shè)置關(guān)系的字段,設(shè)置關(guān)系的

6、對象,set元素的常用屬性,set元素的常用屬性,修改測試類檢查結(jié)果,hibernate.cfg.xml中指定映射文件 測試, ,雙向一對多關(guān)聯(lián),單向一對多 單向多對一 同時(shí)配置兩者就成了雙向一對多關(guān)聯(lián),指導(dǎo)實(shí)現(xiàn)雙向一對多關(guān)聯(lián)關(guān)系,訓(xùn)練要點(diǎn) Hibernate配置文件的配置 ORM 映射文件的配置 雙向一對多關(guān)聯(lián) 需求說明 實(shí)現(xiàn)區(qū)和街道的關(guān)聯(lián)關(guān)系 實(shí)現(xiàn)思路 編寫實(shí)體類 在Street類中設(shè)置District屬性 在District 類中設(shè)置Set 屬性用于保存包含的Street 編寫ORM 映射文件 修改Hibernate 配置文件 根據(jù)需求編寫業(yè)務(wù)類和Dao類,并進(jìn)行測試,完成時(shí)間:30分鐘

7、,共性問題集中講解,常見調(diào)試問題及解決辦法 代碼規(guī)范問題,共性問題集中講解,小結(jié),如何配置單向一對多關(guān)聯(lián)關(guān)系? 如何配置單向多對一關(guān)聯(lián)關(guān)系? 如何配置雙向一對多關(guān)聯(lián)關(guān)系?,cascade屬性,當(dāng)設(shè)置了cascade屬性不為none時(shí),Hibernate 會(huì)自動(dòng)持久化所關(guān)聯(lián)的對象 cascade 屬性的設(shè)置會(huì)帶來性能上的變動(dòng),需謹(jǐn)慎設(shè)置 Cascade屬性值, ,inverse屬性,術(shù)語“inverse”直譯為“反轉(zhuǎn)” 在Hibernate 中,inverse屬性指定了關(guān)聯(lián)關(guān)系中的方向 關(guān)聯(lián)關(guān)系中,inverse=false 的為主動(dòng)方,由主動(dòng)方負(fù)責(zé)維護(hù)關(guān)聯(lián)關(guān)系 在一對多關(guān)聯(lián)中,將one 方的i

8、nverse 設(shè)置為true,這將有助性能的改善, ,inverse指的是關(guān)聯(lián)關(guān)系的控制方向,而cascade指的是層級(jí)之間的連鎖操作,練習(xí)cascade和inverse的使用,訓(xùn)練要點(diǎn) cascade屬性的使用 inverse屬性的使用 需求說明 使用cascade和inverse 優(yōu)化區(qū)和街道關(guān)聯(lián)關(guān)系,完成時(shí)間:20分鐘,共性問題集中講解,常見調(diào)試問題及解決辦法 代碼規(guī)范問題,共性問題集中講解,多對多關(guān)聯(lián)案例分析2-1,某OA系統(tǒng)需要完成的功能 列出項(xiàng)目的參加人員 列出某個(gè)人參加的所有項(xiàng)目,多對多關(guān)聯(lián)案例分析2-2,對雇員和項(xiàng)目需要?jiǎng)?chuàng)建兩個(gè)表:employee 和project 雇員和項(xiàng)目間是典型的多對多關(guān)系,多對多關(guān)聯(lián), , ,Project 一方的配置,Employee 一方的配置,練習(xí)實(shí)現(xiàn)租房信息的發(fā)布,需求說明 實(shí)現(xiàn)租房信息的發(fā)布 實(shí)現(xiàn)步驟 分析用戶與租房信息的關(guān)聯(lián)關(guān)系 分析街道與租房信息的關(guān)聯(lián)關(guān)系 分析房屋類型與租房信息的關(guān)聯(lián)關(guān)系,完成時(shí)間:20分鐘,共性問題集中講解,常見調(diào)試問題及解決辦法 代碼規(guī)范問題,共性問題集中講解,總結(jié),如何配置單向一對多關(guān)聯(lián)關(guān)系? 如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論