課程
/后端開發(fā)
/Java
/使用Struts2+Hibernate開發(fā)學(xué)生信息管理功能
查詢語(yǔ)句還需要開啟事務(wù)嗎?且失敗了就不用提交事務(wù)了吧
2015-10-27
源自:使用Struts2+Hibernate開發(fā)學(xué)生信息管理功能 2-3
正在回答
開啟事務(wù)的目的是為了確保數(shù)據(jù)的準(zhǔn)確性,如果需要同時(shí)執(zhí)行多條SQL語(yǔ)句,則需要放到事務(wù)中進(jìn)行,只要其中有一行執(zhí)行失敗,則事務(wù)回滾。如果只是查詢操作,不牽扯對(duì)數(shù)據(jù)庫(kù)內(nèi)容的更改,不需要開啟事務(wù)。但是,在Hibernate中個(gè)人建議最好也把查詢都放在事務(wù)中進(jìn)行,增刪改則必須要放到事務(wù)進(jìn)行。如果當(dāng)前的Session對(duì)象和當(dāng)前線程綁定,例如:?
<property??name="current_session_context_class"?>thread?</property?>
再調(diào)用session.createQuery()方法執(zhí)行查詢,就會(huì)拋出異常。在hibernate中,任何向數(shù)據(jù)庫(kù)的從操作都開始于一個(gè)事務(wù)的開始,結(jié)束于一個(gè)事務(wù)的結(jié)束。
yu870646595 提問者
xbox1994丶
”如果只是查詢操作,不牽扯對(duì)數(shù)據(jù)庫(kù)內(nèi)容的更改,不需要開啟事務(wù)。但是,在Hibernate中個(gè)人建議最好也把查詢都放在事務(wù)中進(jìn)行?!?/p>
這句話邏輯不通,也沒有解釋為什么最好放到事務(wù)中去,這答案也能被采納?
“在Hibernate中個(gè)人建議最好也把查詢都放在事務(wù)中進(jìn)行,增刪改則必須要放到事務(wù)進(jìn)行”。 實(shí)際工作中事務(wù)都是應(yīng)該盡量少開啟,特別是高并發(fā)的情況。但Hibernate通常的做法是怎樣我還真不清楚。
舉報(bào)
Strust2+Hibernate整合開發(fā)案例,Java Web開發(fā)技能更上一層樓
1 回答關(guān)于開啟一個(gè)事務(wù)?如下圖:
1 回答查詢不是可以用get loat嗎?為什么用hql語(yǔ)句,他們有什么不同嗎?
1 回答什么時(shí)候需要提交事務(wù)?沒提交事務(wù)居然也執(zhí)行成功了
3 回答hibernate為什么在出現(xiàn)異常時(shí),還要提交事務(wù),不是該rollback嗎?
2 回答SessionFactory為什么還需要注冊(cè)服務(wù)之后才創(chuàng)建?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-10-28
開啟事務(wù)的目的是為了確保數(shù)據(jù)的準(zhǔn)確性,如果需要同時(shí)執(zhí)行多條SQL語(yǔ)句,則需要放到事務(wù)中進(jìn)行,只要其中有一行執(zhí)行失敗,則事務(wù)回滾。如果只是查詢操作,不牽扯對(duì)數(shù)據(jù)庫(kù)內(nèi)容的更改,不需要開啟事務(wù)。但是,在Hibernate中個(gè)人建議最好也把查詢都放在事務(wù)中進(jìn)行,增刪改則必須要放到事務(wù)進(jìn)行。如果當(dāng)前的Session對(duì)象和當(dāng)前線程綁定,例如:?
再調(diào)用session.createQuery()方法執(zhí)行查詢,就會(huì)拋出異常。在hibernate中,任何向數(shù)據(jù)庫(kù)的從操作都開始于一個(gè)事務(wù)的開始,結(jié)束于一個(gè)事務(wù)的結(jié)束。
2018-02-01
”如果只是查詢操作,不牽扯對(duì)數(shù)據(jù)庫(kù)內(nèi)容的更改,不需要開啟事務(wù)。但是,在Hibernate中個(gè)人建議最好也把查詢都放在事務(wù)中進(jìn)行?!?/p>
這句話邏輯不通,也沒有解釋為什么最好放到事務(wù)中去,這答案也能被采納?
2016-10-03
“在Hibernate中個(gè)人建議最好也把查詢都放在事務(wù)中進(jìn)行,增刪改則必須要放到事務(wù)進(jìn)行”。 實(shí)際工作中事務(wù)都是應(yīng)該盡量少開啟,特別是高并發(fā)的情況。但Hibernate通常的做法是怎樣我還真不清楚。