最近整数据库,启用了genenal_log,记录所有的数据库操作;
然后就发现了一个现象,对于下面的代码:
private static SessionFactory factory = getSessionFactory();
public static void testAdd() {
Session session = factory.openSession();
User user = (User)session.get(User.class, (int)(10 * Math.random()));
System.out.print(user.getName());
session.close();
}
数据库的日志是这样的:
Init DB ***
Query SET autocommit=0
Query select ****;
Query rollback
Init DB ***
Query SET autocommit=1
这段数据库日志和带有事务的日志看起来差不多,只不过多了一个rollback;
难道所有的hibernate session,本身都是作为一个事务在处理,只不过如果没有真正的事务操作,则进行rollback?
走同样的路,发现不同的人生