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

Как работает транзакция в Spring в связке с Hibernate

Spring управляет транзакциями через @Transactional, интегрируясь с Hibernate через PlatformTransactionManager. При вызове метода с аннотацией:

  1. Spring создает/присоединяет транзакцию через HibernateTransactionManager
  2. Открывается сессия Hibernate и привязывается к текущему потоку
  3. При успешном выполнении - коммит, при исключении - откат (rollback)

Пример:

java
@Service
public class UserService {
    @Transactional
    public void updateUser(User user) {
        // Hibernate-операции выполняются в транзакции
        entityManager.merge(user);
    }
}

Нюансы:

  • По умолчанию используется Propagation.REQUIRED (поддерживает текущую или создает новую)
  • readOnly=true оптимизирует запросы
  • Проверяемые исключения (checked) не вызывают откат по умолчанию
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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