Hibernate:session.get()是否需要session.getTransaction()。commit()?

时间:2011-03-01 13:05:41

标签: hibernate commit

守则是:

    Configuration conf = new Configuration();
    SessionFactory fact = conf.configure().buildSessionFactory();
    Session session = fact.getCurrentSession();
    session.beginTransaction();
    News2 news = (News2)session.load(News2.class, 8);
    System.out.println(news.getId());
    System.out.println(news.getTitle());
    //session.getTransaction().commit();
    fact.close();

为什么它仍然可以打印出信息,因为我没有调用commit()方法?

2 个答案:

答案 0 :(得分:2)

如果您开始交易,则必须提交。

上述内容适用于您,因为它是正常行为 - 您可以读取事务中的值。

答案 1 :(得分:1)

您正在从数据库中读取实体而不对实体进行任何更改,因此在读取时不需要事务提交