![hibernate的事務(wù)處理機(jī)制底層原理剖析_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/a793067a-0eec-4389-8d8d-0a1f51911fe1/a793067a-0eec-4389-8d8d-0a1f51911fe11.gif)
![hibernate的事務(wù)處理機(jī)制底層原理剖析_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/a793067a-0eec-4389-8d8d-0a1f51911fe1/a793067a-0eec-4389-8d8d-0a1f51911fe12.gif)
![hibernate的事務(wù)處理機(jī)制底層原理剖析_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/a793067a-0eec-4389-8d8d-0a1f51911fe1/a793067a-0eec-4389-8d8d-0a1f51911fe13.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、hibernate的事務(wù)處理機(jī)制底層原理剖析hibernate是對(duì)jdbc的輕量級(jí)對(duì)象封裝, hibernate本身是不具備transaction處理功能的,hibernate的transaction實(shí)際上是底層的jdbc transaction的封裝,或者是jta transaction的封裝,下面我們?cè)敿?xì)的分析:hibernate可以配置為jdbctransaction或者是jtatransaction,這取決于你在perties中的配置:#hibernate.transaction.factory_class net.sf.hibernate.transacti
2、on.jtatransactionfactory#hibernate.transaction.factory_class net.sf.hibernate.transaction.jdbctransactionfactory如果你什么都不配置,默認(rèn)情況下使用jdbctransaction,如果你配置為:hibernate.transaction.factory_class net.sf.hibernate.transaction.jtatransactionfactory將使用jtatransaction不管你準(zhǔn)備讓hibernate使用jdbctransaction,還是jtatransac
3、tion,我的忠告就是什么都不配,將讓它保持默認(rèn)狀態(tài),如下:#hibernate.transaction.factory_class net.sf.hibernate.transaction.jtatransactionfactory#hibernate.transaction.factory_class net.sf.hibernate.transaction.jdbctransactionfactory在下面的分析中我會(huì)給出原因。一、jdbc transaction看看使用jdbc transaction的時(shí)候我們的代碼例子:session session = sf.opensession
4、();transaction tx = session.begintransactioin();.session.flush();mit();session.close();這是默認(rèn)的情況,當(dāng)你在代碼中使用hibernate的transaction的時(shí)候?qū)嶋H上就是jdbctransaction。那么jdbctransaction究竟是什么東西呢?來(lái)看看源代碼就清楚了:hibernate2.0.3源代碼中的類net.sf.hibernate.transaction.jdbctransaction:public void begin() throws hibernateexception .if
5、(toggleautocommit) session.connection().setautocommit(false);.這是啟動(dòng)transaction的方法,看到 connection().setautocommit(false) 了嗎?是不是很熟悉?再來(lái)看public void commit() throws hibernateexception .try if ( session.getflushmode()!=flushmode.never ) session.flush();try session.connection().commit();committed = true;.to
6、ggleautocommit();這是提交方法,看到connection().commit() 了嗎?下面就不用我多說(shuō)了,這個(gè)類代碼非常簡(jiǎn)單易懂,通過(guò)閱讀使我們明白hibernate的transaction都在干了些什么?我現(xiàn)在把用 hibernate寫的例子翻譯成jdbc,大家就一目了然了:connection conn = .; - session = sf.opensession();conn.setautocommit(false); - tx = session.begintransactioin();. - .mit(); - mit(); (對(duì)應(yīng)左邊的兩句)conn.setautocommit(true);conn.close(); - session.close();看明白了吧,hibernate的jdbctransaction根本就是mit而已,根本毫無(wú)神秘可言,只不過(guò)在hibernate中, session打開(kāi)的時(shí)候,就會(huì)自動(dòng)conn.setautocommit(false),不像一般的jdbc,默認(rèn)都是
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 9 What's your hobby 說(shuō)課稿(說(shuō)課稿)-2024-2025學(xué)年湘少版(三起)英語(yǔ)五年級(jí)上冊(cè)
- Unit 3 What Would you like(說(shuō)課稿)-2024-2025學(xué)年人教PEP版英語(yǔ)五年級(jí)上冊(cè)
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第六章 反比例函數(shù)1 反比例函數(shù)說(shuō)課稿 (新版)北師大版
- 10《爬山虎的腳》說(shuō)課稿-2024-2025學(xué)年語(yǔ)文四年級(jí)上冊(cè)統(tǒng)編版
- 2023三年級(jí)英語(yǔ)下冊(cè) Unit 2 Animals at the Zoo Lesson 8 Tigers and Bears說(shuō)課稿 冀教版(三起)
- 2025民間個(gè)人借款合同書(shū)范文
- 2024-2025學(xué)年高一歷史第13周 6.2卓爾不群的雅典說(shuō)課稿
- 2025常年法律顧問(wèn)合同
- 19《一只窩囊的大老虎》第二課時(shí)(說(shuō)課稿)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)001
- 2025獨(dú)家經(jīng)銷合同范本
- 新起點(diǎn)英語(yǔ)二年級(jí)下冊(cè)全冊(cè)教案
- 【幼兒園戶外體育活動(dòng)材料投放的現(xiàn)狀調(diào)查報(bào)告(定量論文)8700字】
- 剪映專業(yè)版:PC端短視頻制作(全彩慕課版) 課件 第3章 短視頻剪輯快速入門
- 湖南省長(zhǎng)沙市開(kāi)福區(qū)青竹湖湘一外國(guó)語(yǔ)學(xué)校2023-2024學(xué)年九年級(jí)下學(xué)期一模歷史試題
- 漢密爾頓抑郁和焦慮量表
- 風(fēng)電場(chǎng)事故案例分析
- 人教版八年級(jí)數(shù)學(xué)初中數(shù)學(xué)《平行四邊形》單元教材教學(xué)分析
- 八年級(jí)上冊(cè)-2024年中考?xì)v史總復(fù)習(xí)核心考點(diǎn)與重難點(diǎn)(部編版)
- 醫(yī)院科室人才建設(shè)規(guī)劃方案
- 儲(chǔ)油罐安全操作規(guī)程培訓(xùn)
- 護(hù)理飲食指導(dǎo)整改措施及方案
評(píng)論
0/150
提交評(píng)論