为了账号安全,请及时绑定邮箱和手机立即绑定

查询语句还需要开启事务吗

查询语句还需要开启事务吗?且失败了就不用提交事务了吧

正在回答

3 回答

开启事务的目的是为了确保数据的准确性,如果需要同时执行多条SQL语句,则需要放到事务中进行,只要其中有一行执行失败,则事务回滚。如果只是查询操作,不牵扯对数据库内容的更改,不需要开启事务。但是,在Hibernate中个人建议最好也把查询都放在事务中进行,增删改则必须要放到事务进行。如果当前的Session对象和当前线程绑定,例如: 

<property  name="current_session_context_class" >thread </property >

再调用session.createQuery()方法执行查询,就会抛出异常。在hibernate中,任何向数据库的从操作都开始于一个事务的开始,结束于一个事务的结束。


1 回复 有任何疑惑可以回复我~
#1

yu870646595 提问者

非常感谢!
2015-11-01 回复 有任何疑惑可以回复我~
#2

xbox1994丶

”如果只是查询操作,不牵扯对数据库内容的更改,不需要开启事务。但是,在Hibernate中个人建议最好也把查询都放在事务中进行。“ 这句话逻辑不通,也没有解释为什么最好放到事务中去,这答案也能被采纳?
2018-02-01 回复 有任何疑惑可以回复我~

”如果只是查询操作,不牵扯对数据库内容的更改,不需要开启事务。但是,在Hibernate中个人建议最好也把查询都放在事务中进行。“


这句话逻辑不通,也没有解释为什么最好放到事务中去,这答案也能被采纳?

2 回复 有任何疑惑可以回复我~

“在Hibernate中个人建议最好也把查询都放在事务中进行,增删改则必须要放到事务进行”。 实际工作中事务都是应该尽量少开启,特别是高并发的情况。但Hibernate通常的做法是怎样我还真不清楚。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

查询语句还需要开启事务吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信