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

来源:2-3 用户业务逻辑接口和类

yu870646595

2015-10-27 19:04

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

写回答 关注

3回答

  • _潇潇暮雨
    2015-10-28 09:52:23
    已采纳

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

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

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


    xbox19...

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

    2018-02-01 10:20:24

    共 2 条回复 >

  • xbox1994丶
    2018-02-01 10:19:38

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


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

  • ATWJSW
    2016-10-03 10:55:44

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

使用Struts2+Hibernate开发学生信息管理功能

Strust2+Hibernate整合开发案例,Java Web开发技能更上一层楼

80701 学习 · 754 问题

查看课程

相似问题