Встречается на собеседованиях • сегодня

Как можно закрыть транзацию в Hibernate

В Hibernate транзакции закрываются через commit() или rollback() объекта Transaction. Лучше использовать try-with-resources или блок try-catch-finally для гарантированного закрытия.

Пример:

java
Session session = sessionFactory.openSession();
Transaction transaction = null;
try {
    transaction = session.beginTransaction();
    // бизнес-логика
    transaction.commit();
} catch (Exception e) {
    if (transaction != null) {
        transaction.rollback();
    }
    throw e;
} finally {
    session.close();
}

Или с Java 8+:

java
try (Session session = sessionFactory.openSession()) {
    session.beginTransaction();
    // бизнес-логика
    session.getTransaction().commit();
} // авто-close и rollback при исключении

Важно: commit() фиксирует изменения, rollback() отменяет их. Всегда закрывайте Session после работы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы