Встречается на собеседованиях • сегодня
Как реализован TransactionManager в Hibernate
Hibernate использует TransactionManager для управления транзакциями, но чаще работает с EntityManager или Session, которые делегируют управление транзакциями JTA или JDBC.
Основные подходы:
- JTA (Java Transaction API) – для распределённых транзакций (например, в Java EE или Spring).
- JDBC Transaction – локальные транзакции, управляемые через
Connection.
Пример с Hibernate Session:
java
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
// Бизнес-логика
session.save(entity);
tx.commit();
} catch (Exception e) {
if (tx != null) tx.rollback();
throw e;
} finally {
session.close();
}В Spring транзакции обычно управляются через @Transactional, который под капотом использует PlatformTransactionManager.
Hibernate поддерживает оба подхода, но JTA требуется для XA-транзакций (например, в микросервисах).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы