查询语句还需要开启事务吗
查询语句还需要开启事务吗?且失败了就不用提交事务了吧
查询语句还需要开启事务吗?且失败了就不用提交事务了吧
2015-10-27
开启事务的目的是为了确保数据的准确性,如果需要同时执行多条SQL语句,则需要放到事务中进行,只要其中有一行执行失败,则事务回滚。如果只是查询操作,不牵扯对数据库内容的更改,不需要开启事务。但是,在Hibernate中个人建议最好也把查询都放在事务中进行,增删改则必须要放到事务进行。如果当前的Session对象和当前线程绑定,例如:
<property name="current_session_context_class" >thread </property >
再调用session.createQuery()方法执行查询,就会抛出异常。在hibernate中,任何向数据库的从操作都开始于一个事务的开始,结束于一个事务的结束。
举报