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

Что такое Transaction Propagation в Spring

Transaction Propagation определяет, как транзакция должна вести себя при вызове одного метода из другого. В Spring есть несколько типов:

  • REQUIRED (по умолчанию) – если есть активная транзакция, метод использует её, иначе создаёт новую.
  • REQUIRES_NEW – всегда создаёт новую транзакцию, приостанавливая текущую, если она есть.
  • SUPPORTS – работает в транзакции, если она есть, иначе без неё.
  • NOT_SUPPORTED – выполняется без транзакции, приостанавливая текущую, если она есть.
  • MANDATORY – требует активной транзакции, иначе исключение.
  • NEVER – запрещает транзакцию, иначе исключение.
  • NESTED – создаёт вложенную транзакцию, если активная есть (работает только с некоторыми DataSource).

Пример:

java
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void updateUser(User user) {
    // Будет выполнено в новой транзакции
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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