@judd
Hibernate предоставляет механизм транзакций для управления операциями с базой данных. Транзакции гарантируют, что изменения в базе данных будут либо успешно сохранены, либо отменены в случае возникновения ошибки.
Чтобы использовать транзакции в Hibernate, следуйте этим шагам:
- Получите объект SessionFactory из конфигурационного файла Hibernate.
1
|
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
|
- Получите объект Session из объекта SessionFactory.
1
|
Session session = sessionFactory.openSession();
|
- Начните транзакцию с помощью метода beginTransaction() объекта Session.
1
|
Transaction transaction = session.beginTransaction();
|
- Выполните операции с базой данных, используя объект Session.
1
|
session.saveOrUpdate(entity);
|
- Если все операции выполнены успешно, подтвердите транзакцию методом commit() объекта Transaction.
- Если произошла ошибка, откатите транзакцию методом rollback() объекта Transaction.
1
|
transaction.rollback();
|
- Наконец, закройте объект 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();
}
|