




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
北京傳智播客教育hibernate(深入)講師:趙君北京傳智播客教育
映射一對一多對多
[雙向]關(guān)聯(lián)關(guān)系北京傳智播客教育建立一對多的雙向關(guān)聯(lián)關(guān)系在hibernate中通過對inverse屬性的值決定是由雙向關(guān)聯(lián)的哪一方來維護(hù)表和表之間的關(guān)系.inverse=false的為主動方,inverse=true的為被動方,由主動方負(fù)責(zé)維護(hù)關(guān)聯(lián)關(guān)系在沒有設(shè)置inverse=true的情況下,父子兩邊都維護(hù)父子關(guān)系
在1-n關(guān)系中,將n方設(shè)為主控方將有助于性能改善(如果要國家元首記住全國人民的名字,不是太可能,但要讓全國人民知道國家元首,就容易的多)在1-N關(guān)系中,若將1方設(shè)為主控方會額外多出update語句。知識點(diǎn)1:<set>中inverse屬性(反轉(zhuǎn))北京傳智播客教育映射一對一雙向關(guān)聯(lián)關(guān)系一對一關(guān)聯(lián)指兩個表之間的記錄是一一對應(yīng)的關(guān)系。比如一家公司(Company)和它所在的地址(Address)。在業(yè)務(wù)邏輯中要求一家公司只有唯一的地址,一個地址也只有一家公司。下圖表現(xiàn)為外鍵關(guān)聯(lián)關(guān)系。fk北京傳智播客教育映射一對一雙向關(guān)聯(lián)關(guān)系對于基于外鍵的1-1關(guān)聯(lián),其外鍵可以存放在任意一邊,在需要存放外鍵一端,增加many-to-one元素。為many-to-one元素增加unique=“true”
屬性來表示為1-1關(guān)聯(lián),并用name屬性來指定關(guān)聯(lián)屬性的屬性名另一端需要使用one-to-one元素,該元素使用property-ref
屬性指定使用被關(guān)聯(lián)實(shí)體主鍵以外的字段作為關(guān)聯(lián)字段北京傳智播客教育映射一對一雙向關(guān)聯(lián)關(guān)系北京傳智播客教育映射一對一雙向關(guān)聯(lián)關(guān)系北京傳智播客教育映射多對多雙向關(guān)聯(lián)關(guān)系
多對多的實(shí)體關(guān)系模型也是很常見的,比如學(xué)生和課程的關(guān)系。一個學(xué)生可以選修多門課程,一個課程可以被多名學(xué)生選修。在關(guān)系型數(shù)據(jù)庫中對于多對多關(guān)聯(lián)關(guān)系的處理一般采用中間表的形式,將多對多的關(guān)系轉(zhuǎn)化成兩個一對多的關(guān)系。北京傳智播客教育映射多對多雙向關(guān)聯(lián)關(guān)系北京傳智播客教育映射多對多雙向關(guān)聯(lián)關(guān)系北京傳智播客教育映射組件關(guān)系北京傳智播客教育映射組件關(guān)系北京傳智播客教育映射組件關(guān)系這就是組件北京傳智播客教育映射組件關(guān)系Hibernate把持久化類的屬性分為兩種:值(value)類型:沒有OID,不能被單獨(dú)持久化,生命周期依賴于所屬的持久化類的對象的生命周期,組件類型就是一種值類型實(shí)體(entity)類型:有OID,可以被單獨(dú)持久化,有獨(dú)立的生命周期Hibernate使用<component>元素來映射組成關(guān)系,該元素表明homeAddress屬性是Customer類一個組成部分,在Hibernate中稱之為組件北京傳智播客教育映射組件關(guān)系的映射文件北京傳智播客教育深入Session北京傳智播客教育操縱持久化對象知識點(diǎn)1:圖解Java對象在JVM中的生命周期北京傳智播客教育操縱持久化對象概述
Session接口是
Hibernate向應(yīng)用程序提供的操縱對數(shù)據(jù)庫的最主要的接口,
它提供了基本的保存(save),更新(update),刪除(delete)和加載(get/load)Java對象的方法.知識點(diǎn)2:session概述北京傳智播客教育操縱持久化對象在Session接口的實(shí)現(xiàn)中包含一系列的Java集合,這些Java集合構(gòu)成了Session緩存.只要Session實(shí)例沒有結(jié)束生命周期,存放在它緩存中的對象也不會結(jié)束生命周期
當(dāng)session的save()方法持久化一個對象時,該對象被載入緩存,以后即使程序中不再引用該對象,只要緩存不清空,該對象仍然處于生命周期中。知識點(diǎn)3:圖解session的緩存北京傳智播客教育操縱持久化對象Session具有一個緩存,位于緩存中的對象稱為持久化對象,它和數(shù)據(jù)庫中的相關(guān)記錄對應(yīng).Session能夠在某些時間點(diǎn),按照緩存中對象的變化來執(zhí)行相關(guān)的SQL語句,來同步更新數(shù)據(jù)庫,這一過程被稱為清理緩存(flush)默認(rèn)情況下Session在以下時間點(diǎn)清理緩存:當(dāng)應(yīng)用程序調(diào)用Transaction的commit()方法的時,該方法先清理緩存,然后在向數(shù)據(jù)庫提交事務(wù)。顯式調(diào)用Session的flush()
方法.知識點(diǎn)4_1:清理session的緩存北京傳智播客教育操縱持久化對象區(qū)別:
flush:
進(jìn)行清理緩存(此時緩存中的數(shù)據(jù)并不丟失)的操作,讓緩存和數(shù)據(jù)庫同步執(zhí)行一些列sql語句,但不提交事務(wù);
commit:先調(diào)用flush()方法,然后提交事務(wù).則意味著提交事務(wù)意味著對數(shù)據(jù)庫操作永久保存下來; clear:清空緩存,等價于list.removeAll();知識點(diǎn)4_2:區(qū)分mit/clear三個方法北京傳智播客教育操縱持久化對象知識點(diǎn)4_3:設(shè)置緩存的清理模式
session.setFlushMode(FlushMode.AUTO);清理緩存的模式Session的查詢方法tx的commit()Session的flush()FlushMode.AUTO(默認(rèn))清理清理清理MIT不清理清理清理FlushMode.NEVER(演示)不清理不清理清理北京傳智播客教育
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62007-2:2025 FR Semiconductor optoelectronic devices for fibre optic system applications - Part 2: Measuring methods
- 【正版授權(quán)】 ISO/IEC 42006:2025 EN Information technology - Artificial intelligence - Requirements for bodies providing audit and certification of artificial intelligence management syst
- 協(xié)助家長辦年貨課件
- 健康素養(yǎng)促進(jìn)課件
- 合肥科學(xué)實(shí)驗班數(shù)學(xué)試卷
- 河南省初三數(shù)學(xué)試卷
- 健康管理電教課件
- 2025-2030年中國手帕袋項目投資可行性研究分析報告
- 烏魯木齊市第七十七小學(xué)-企業(yè)報告(業(yè)主版)
- 2025年中國電路保護(hù)元器件行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- 2025年保密觀知識競賽題庫必考題含答案詳解
- 【作業(yè)設(shè)計】《跨學(xué)科實(shí)踐:制作簡易桿秤》作業(yè)設(shè)計人教版八年級下冊物理
- 車間班組安全培訓(xùn)課件
- 2025春季學(xué)期國開河南電大本科《行政管理理論與實(shí)踐專題講座》一平臺無紙化考試(作業(yè)練習(xí)+我要考試)試題及答案
- 馬工程教育學(xué)課程
- 內(nèi)蒙古自治區(qū)某礦區(qū)銀多金屬礦勘探及外圍普查設(shè)計
- 中國兒童嚴(yán)重過敏反應(yīng)診斷與治療建議
- 中醫(yī)課件 第二節(jié)方劑的分類及常用方劑(臨本)學(xué)習(xí)資料
- 施工單位項目物資管理
- 2025安徽安慶市桐城經(jīng)開區(qū)建設(shè)投資集團(tuán)有限公司招聘12人筆試參考題庫附帶答案詳解
- 給水管道試壓、沖洗消毒方案
評論
0/150
提交評論