Как использовать транзакции в Hibernate?

Пользователь

от judd , в категории: Java , год назад

Как использовать транзакции в Hibernate?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от enid , 10 месяцев назад

@judd 

Hibernate предоставляет механизм транзакций для управления операциями с базой данных. Транзакции гарантируют, что изменения в базе данных будут либо успешно сохранены, либо отменены в случае возникновения ошибки.


Чтобы использовать транзакции в Hibernate, следуйте этим шагам:

  1. Получите объект SessionFactory из конфигурационного файла Hibernate.
1
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();


  1. Получите объект Session из объекта SessionFactory.
1
Session session = sessionFactory.openSession();


  1. Начните транзакцию с помощью метода beginTransaction() объекта Session.
1
Transaction transaction = session.beginTransaction();


  1. Выполните операции с базой данных, используя объект Session.
1
session.saveOrUpdate(entity);


  1. Если все операции выполнены успешно, подтвердите транзакцию методом commit() объекта Transaction.
1
transaction.commit();


  1. Если произошла ошибка, откатите транзакцию методом rollback() объекта Transaction.
1
transaction.rollback();


  1. Наконец, закройте объект Session методом close().
1
session.close();


Ниже приведен пример использования транзакций в Hibernate:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();

try {
   // выполняем операции с базой данных
   session.saveOrUpdate(entity);
   transaction.commit();
} catch (Exception e) {
   // обрабатываем ошибку
   transaction.rollback();
} finally {
   session.close();
}