



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Hibernate工作原理及其作用原理:1 .讀取并解析配置文件2 .讀取并解析映射信息,創(chuàng)建SessionFactory3 .打開(kāi) Sesssion4 .創(chuàng)建事務(wù)Transation5 .持久化操作6 .提交事務(wù)7 .關(guān)閉 Session8 .關(guān)閉 SesstionFactory為什么要用:1. 對(duì)JDBC訪問(wèn)數(shù)據(jù)庫(kù)的代碼做了封裝,大大簡(jiǎn)化了數(shù)據(jù)訪問(wèn)層繁瑣的重復(fù)性代碼。2. Hibernate是一個(gè)基于JDBC的主流持久化框架, 是一個(gè)優(yōu)秀的 ORM實(shí)現(xiàn)。他很大 程度的簡(jiǎn)化DAO層的編碼工作3. hibernate使用Java反射機(jī)制,而不是字節(jié)碼增強(qiáng)程序來(lái)實(shí)現(xiàn)透明性。4. hibernat
2、e的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。映射的靈活性很出色。它支持各 種關(guān)系數(shù)據(jù)庫(kù),從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系。2. Hibernate是如何延遲加載?1. Hibernate2 延遲加載實(shí)現(xiàn):a)實(shí)體對(duì)象 b)集合(Collection )2. Hibernate3 提供了屬性的延遲加載功能當(dāng)Hibernate在查詢(xún)數(shù)據(jù)的時(shí)候,數(shù)據(jù)并沒(méi)有存在與內(nèi)存中,當(dāng)程序真正對(duì)數(shù)據(jù)的操作時(shí),對(duì)象才存在與內(nèi)存中,就實(shí)現(xiàn)了延遲加載,他節(jié)省了服務(wù)器的內(nèi)存開(kāi)銷(xiāo),從而提高了服務(wù)器的性能。3. Hibernate中怎樣實(shí)現(xiàn)類(lèi)之間的關(guān)系?(如:一對(duì)多、多對(duì)多的關(guān)系 )類(lèi)與類(lèi)之間的關(guān)系主要體現(xiàn)在表與表之間的關(guān)系進(jìn)行操作
3、,它們都市對(duì)對(duì)象進(jìn)行操作, 我們程序中把所有的表與類(lèi)都映射在一起,它們通過(guò)配置文件中的 many-to-one、one-to-many、many-to-many 、4. 說(shuō)下Hibernate的緩存機(jī)制1 .內(nèi)部緩存存在Hibernate中又叫一級(jí)緩存,屬于應(yīng)用事物級(jí)緩存2 .二級(jí)緩存:a)應(yīng)用及緩存b)分布式緩存條件:數(shù)據(jù)不會(huì)被第三方修改、數(shù)據(jù)大小在可接受范圍、數(shù)據(jù)更新頻率低、同一數(shù) 據(jù)被系統(tǒng)頻繁使用、非關(guān)鍵數(shù)據(jù)c)第三方緩存的實(shí)現(xiàn)5. Hibernate 的查詢(xún)方式 Sql、 Criteria,object comptosition Hql :1、 屬性查詢(xún)2、 參數(shù)查詢(xún)、命名參數(shù)查詢(xún)3、
4、 關(guān)聯(lián)查詢(xún)4、 分頁(yè)查詢(xún)5、 統(tǒng)計(jì)函數(shù)6. 如何優(yōu)化Hibernate ?1 .使用雙向一對(duì)多關(guān)聯(lián),不使用單向一對(duì)多2 .靈活使用單向一對(duì)多關(guān)聯(lián)3 .不用一對(duì)一,用多對(duì)一取代4 .配置對(duì)象緩存,不使用集合緩存5 . 一對(duì)多集合使用 Bag,多對(duì)多集合使用 Set6 .繼承類(lèi)使用顯式多態(tài)7 .表字段要少,表關(guān)聯(lián)不要怕多,有二級(jí)緩存撐腰Hibernate 的原理-ORM1 .啟動(dòng) Hibernate2 .構(gòu)建Configuration實(shí)例,初始化實(shí)例中的所有變量.Configuration cfg=new Configuration.configure();加載hibernate.cfg.xml文
5、件至該實(shí)例(內(nèi)存)通過(guò)hibernate.cfg.xml文件中的 mapping節(jié)點(diǎn)配置并加載.hbm.xml文件至該實(shí)例(內(nèi)存)3 .利用上面創(chuàng)建的 Configuration實(shí)例構(gòu)建一個(gè)SessionFactory實(shí)例SessionFactory sessionFactory=cfg.getSessionFactory();4 .由上面香到的SessionFactory實(shí)例創(chuàng)建連接 Session=sessionFactory.getSession();5 .由上面得到的 Session實(shí)例創(chuàng)建事務(wù)操作接口,Transaction的一個(gè)實(shí)例txTransaction tx=session.
6、beginTransaction();6 .通過(guò)Session接口提供的各種方法操縱對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)7 .提交數(shù)據(jù)操作結(jié)果.mit();8 .關(guān)閉數(shù)據(jù)連接. session.close();Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封 裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在 Java的客戶端程序使用,也可以在 Servlet/JSP 的 Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP , 完成數(shù)據(jù)持久化的重任。Hi
7、bernate 的核心接口共有 5 個(gè),分另1J為:Session 、SessionFactory 、Transaction 、 Query 和Configuration 。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持 久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹。Session 接口Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句。)。但需要注意的是 Session對(duì)象是非線程安全的。同時(shí),Hibernate 的session不同于JSP應(yīng)用中的 HttpSession。這里當(dāng)使用
8、 session這個(gè)術(shù)語(yǔ)時(shí), 其實(shí)指的是 Hibernate 中的session ,而以后會(huì)將 HttpSession 對(duì)象稱(chēng)為用戶 session。SessionFactory 接口SessionFactory 接口負(fù)責(zé)初始化 Hibernate 。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng) 建Session對(duì)象。這里用到了 工廠模式。需要注意的是 SessionFactory 并不是輕量級(jí)的, 因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory 就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè) SessionFactory 。Configuration 接口Configuration 接口負(fù)責(zé)配置并啟動(dòng)Hibernate ,創(chuàng)建 SessionFactory 對(duì)象。在Hibernate的啟動(dòng)的過(guò)程中,Configuration類(lèi)的實(shí)例首先定位映射文檔位置、讀取配置,然 后創(chuàng)建SessionFactory 對(duì)象。Transaction 接口Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開(kāi)發(fā)人員也可以設(shè)計(jì)編寫(xiě)自 己的底層事務(wù)處理代碼。Query 和 C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZNZ 264.2-2024 重金屬中度污染農(nóng)田土壤修復(fù)和安全利用技術(shù)規(guī)范 第2部分:超積累東南景天與中稻輪作
- T-ZZB 3744-2024 制革用陰離子型磺化油
- T-ZMDS 20008-2024 醫(yī)療器械嵌入式軟件漏洞評(píng)估方法
- 2025年度解除農(nóng)業(yè)合作項(xiàng)目的聲明書(shū)
- 二零二五年度綠化苗木購(gòu)銷(xiāo)與城市綠化養(yǎng)護(hù)服務(wù)合同
- 二零二五年度實(shí)習(xí)教師與教育機(jī)構(gòu)教育咨詢(xún)服務(wù)合同
- 二零二五年度共享住宅租賃正規(guī)協(xié)議書(shū)范本及環(huán)保要求
- 二零二五年度勞動(dòng)合同主體變更及培訓(xùn)交接服務(wù)合同
- 2025年度水產(chǎn)養(yǎng)殖水質(zhì)改良與養(yǎng)魚(yú)合同
- 二零二五年度人社部員工勞動(dòng)合同勞動(dòng)合同電子簽名與認(rèn)證合同
- 220kV GIS組合電器安裝施工方案
- 公園綠化養(yǎng)護(hù)景觀綠化維護(hù)項(xiàng)目迎接重大節(jié)會(huì)活動(dòng)的保障措施
- 國(guó)內(nèi)外旅游公共服務(wù)研究的文獻(xiàn)綜述
- 集團(tuán)公司各職能部管控分權(quán)手冊(cè)
- 機(jī)車(chē)電測(cè)儀表使用及檢修
- PMS顏色對(duì)照表
- 營(yíng)銷(xiāo)手冊(cè)范本匯總(24個(gè)共)35.doc
- 2012年北京大學(xué)醫(yī)學(xué)部外國(guó)留學(xué)生本科入學(xué)考試
- 七年級(jí)英語(yǔ)閱讀理解50篇(附答案)
- 乙酸乙酯的制備ppt課件
- 音樂(lè)之聲中英文臺(tái)詞
評(píng)論
0/150
提交評(píng)論