关于:为什么简单的一个select查询都要加上事务控制

关于:为什么简单的一个select查询都要加上事务控制

文章分类:数据库

看书上的例子 为什么简单的一个select查询都要加上事务控制 是不是没有必要?
Session s = factory.openSession();
Transaction tx = s.beginTransaction();
List auctions = s.createQuery("select ...").list();
tx.commit();
s.close();

=========================================================
下面援引robbin的解释大家大概就明白了
如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性;
如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致性,否则,在前条SQL查询之后,后条SQL查询之前,数据被其他用户改变,则该次整体的统计查询将会出现读数据不一致的状态,此时,应该启用事务支持。

你可能感兴趣的:(sql,数据库,session,list,报表)