![SSH輕量級框架實踐課件:Hibernate的關(guān)聯(lián)映射_第1頁](http://file4.renrendoc.com/view12/M09/0D/1F/wKhkGWcrmHOAM5aTAAA4O5HGCV4661.jpg)
![SSH輕量級框架實踐課件:Hibernate的關(guān)聯(lián)映射_第2頁](http://file4.renrendoc.com/view12/M09/0D/1F/wKhkGWcrmHOAM5aTAAA4O5HGCV46612.jpg)
![SSH輕量級框架實踐課件:Hibernate的關(guān)聯(lián)映射_第3頁](http://file4.renrendoc.com/view12/M09/0D/1F/wKhkGWcrmHOAM5aTAAA4O5HGCV46613.jpg)
![SSH輕量級框架實踐課件:Hibernate的關(guān)聯(lián)映射_第4頁](http://file4.renrendoc.com/view12/M09/0D/1F/wKhkGWcrmHOAM5aTAAA4O5HGCV46614.jpg)
![SSH輕量級框架實踐課件:Hibernate的關(guān)聯(lián)映射_第5頁](http://file4.renrendoc.com/view12/M09/0D/1F/wKhkGWcrmHOAM5aTAAA4O5HGCV46615.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Hibernate的關(guān)聯(lián)映射本章目標(biāo)掌握單向多對一關(guān)聯(lián)掌握單向一對多關(guān)聯(lián)掌握雙向一對多關(guān)聯(lián)掌握多對多關(guān)聯(lián)面向?qū)ο箢I(lǐng)域的關(guān)聯(lián)關(guān)系回顧一下面向?qū)ο箢I(lǐng)域內(nèi)對象和對象間的關(guān)聯(lián)關(guān)系。以租房系統(tǒng)中的區(qū)縣和街道為例,區(qū)縣和街道之間的關(guān)系是典型的一對多關(guān)系,一個區(qū)縣下管轄多個街道,多個街道同屬于一個區(qū)縣。關(guān)聯(lián)關(guān)系的映射配置
與對象關(guān)系中的關(guān)聯(lián)關(guān)系類似,數(shù)據(jù)庫的表與表之間也存在著關(guān)聯(lián)關(guān)系,主要以外鍵的形式體現(xiàn)。圖5-4所示的是區(qū)縣表和街道表間的關(guān)聯(lián)關(guān)系。單向多對一關(guān)聯(lián)的映射我們首先考慮單向多對一的情況。實體類的定義如示例代碼5-1所示。通過Jd類的Qx屬性體現(xiàn)了兩個類之間的關(guān)聯(lián)。Jd屬于多的一方,所以這是一種典型的單向多對一關(guān)聯(lián)單向一對多關(guān)聯(lián)的映射Qx類的定義中加上Set類型的jds屬性。最終Qx類的定義如示例代碼5-4<hibernate-mappingpackage="com.xtgj.j2ee.chapter05.entity"><classname="QX"table="TBL_QX"><idname="qxid"column="qxid"type="integer"/><propertyname="qx"column="qx"type="string"not-null="false"/><setname="jds"inverse="true"lazy="false"cascade="all"> <key> <columnname="qxid"/> </key> <one-to-manyclass="com.xtgj.j2ee.chapter05.entity.JD"/></set></class></hibernate-mapping>多對多關(guān)聯(lián)的映射比多對一(many-to-one)的配置稍微麻煩一點(diǎn),需要創(chuàng)建一個<set>節(jié)點(diǎn),其name屬性對應(yīng)到Qx類的ids屬性。<set>節(jié)點(diǎn)下需要建立兩個子節(jié)點(diǎn),一個<key>節(jié)點(diǎn),通過其column屬性指定“多”的一方的外鍵字段名(注意:這里是TBL_JD表的字段名);一個<one-to-many>節(jié)點(diǎn),通過其class屬性指定關(guān)聯(lián)到的“多”的一方的類別。只需要配置這3個信息即可。雙向一對多關(guān)聯(lián)的映射單向一對多和單向多對一可以分別配置使用。如果同時配置了兩者,就成了雙向一對多關(guān)聯(lián)。其實在前面我們就已經(jīng)完成了雙向一對多關(guān)聯(lián)的配置。配置關(guān)聯(lián)時,我們需要考慮兩點(diǎn):第一,程序執(zhí)行效率,第二,實際業(yè)務(wù)的需要。比如在前面的例子中,加載街道的同時獲得對應(yīng)區(qū)縣的信息,這給編碼帶來了極大的便利,但是我們并不是很需要通過區(qū)縣對象直接得到下屬的所有街道的數(shù)據(jù),加載區(qū)縣數(shù)據(jù)時就自動加載街道信息也會帶來性能上的損失。這時,我們只需要配置單向的多對一關(guān)聯(lián)就好了。通過程序維護(hù)關(guān)系
修改關(guān)聯(lián)關(guān)系現(xiàn)在我們要實現(xiàn)的功能是將原屬于“山南區(qū)”的“和平路”劃歸“海淀區(qū)”,即修改實體對象間的關(guān)聯(lián)關(guān)系。在前面我們在區(qū)縣到街道的一對多關(guān)系的配置節(jié)點(diǎn)<set>上增加了inverse屬性!并設(shè)置為true,由多的一方負(fù)責(zé)關(guān)聯(lián)關(guān)系的管理。也就是說,我們通過更新街道對象,就能更新對應(yīng)的關(guān)聯(lián)關(guān)系。試一下,看看是不是可以達(dá)到效果。刪除數(shù)據(jù)在set節(jié)點(diǎn)中增加cascade屬性,值設(shè)為“all”??蛇x的值包括:a11:對所有的操作都進(jìn)行級聯(lián)none:對所有的操作都不進(jìn)行級聯(lián)save-update:執(zhí)行更新操作時級聯(lián)delete:執(zhí)行刪除操作時級聯(lián)現(xiàn)在我們只要刪除區(qū)縣記錄就可以自動刪除關(guān)聯(lián)的街道記錄了。如圖5-17所示,自動執(zhí)行了從tbl_jd表刪除記錄的delete語句。多對多關(guān)聯(lián)配置多對多關(guān)聯(lián)通過程序維護(hù)多對多關(guān)聯(lián)使用Hibernate,我們采用面向?qū)α愕姆绞讲僮鲾?shù)據(jù),管理對象間的關(guān)聯(lián)關(guān)系時也是采用這樣的思路。首先要做的是做好關(guān)聯(lián)的配置,通過配置關(guān)聯(lián),Hibernate就會自動幫我們加載關(guān)聯(lián)的數(shù)據(jù),以及進(jìn)行其他持久化操作。在編寫代碼的時候,我們心里只有對象,再也不用去管數(shù)據(jù)庫、表和SQL語句了??偨Y(jié)本章提供了幾個例子,展示了應(yīng)用Ajax技術(shù)改善用戶體驗的方法。相信這些例子可以幫助你在短時間內(nèi)體驗AJAX的方便、靈活、人性化的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1-3-Dieicosenoyl-glycerol-生命科學(xué)試劑-MCE-8506
- 二零二五年度上市公司員工持股協(xié)議轉(zhuǎn)讓易主合同
- 二零二五年度兒童教育機(jī)構(gòu)門店聯(lián)營合作協(xié)議
- 二零二五年度船舶轉(zhuǎn)讓手續(xù)辦理與船舶交易評估與代理服務(wù)協(xié)議
- 2025年度足療技師星級評定與聘用合同
- 2025年度二零二五年度道路運(yùn)輸項目投資合作協(xié)議
- 施工現(xiàn)場交通管制制度
- 社區(qū)護(hù)理實踐兒童急癥的處理以小兒急性喉炎為例
- 模擬卷高考復(fù)習(xí)科技文閱讀教學(xué)設(shè)計
- 個人貨款合同示例
- 兒童尿道黏膜脫垂介紹演示培訓(xùn)課件
- 學(xué)校教育中的STEM教育模式培訓(xùn)課件
- 樁基礎(chǔ)工程文件歸檔內(nèi)容及順序表
- 《民航服務(wù)溝通技巧(第2版)》王建輝教案 第7課 有效處理投訴
- 2023年新疆中考數(shù)學(xué)試卷真題及答案
- (新版)國民經(jīng)濟(jì)行業(yè)分類代碼表(八大行業(yè))
- 北京地鐵13號線
- 塑料成型模具設(shè)計(第2版)江昌勇課件1-塑料概述
- 產(chǎn)業(yè)園EPC總承包工程項目施工組織設(shè)計
- 方形補(bǔ)償器計算
- 為加入燒火佬協(xié)會致辭(7篇)
評論
0/150
提交評論