Hibernate: нужен ли session.get () метод session.getTransaction (). Commit ()? - PullRequest
0 голосов
/ 01 марта 2011

Код:

    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 ]

2 голосов
/ 01 марта 2011

Если вы начинаете транзакцию, вы должны ее зафиксировать.

Вышесказанное работает для вас, потому что это нормальное поведение - вы можете читать значения внутри транзакции.

1 голос
/ 01 марта 2011

вы читаете объект из базы данных, не внося никаких изменений в объект, поэтому фиксация транзакции не требуется при чтениях

...