hibernate session只是一个rollback的事务?

最近整数据库,启用了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?

阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题