Spring middle

Что такое Propagation?

Ответ

REQUIRED (default) — присоединяется к текущей или создаёт новую. REQUIRES_NEW — всегда новая, приостанавливает текущую (аудит/логирование). NESTED — savepoint внутри текущей (откат внешней откатывает и вложенную). SUPPORTS — присоединяется если транзакция есть, нет — работает без неё. MANDATORY требует существующую (иначе исключение), NEVER — наоборот, бросает исключение при наличии транзакции.

Разбор: REQUIRED присоединяется к текущей или создаёт новую; REQUIRES_NEW всегда создаёт новую, приостанавливая текущую; NESTED — это savepoint внутри текущей транзакции (откат внешней откатывает и вложенную). MANDATORY требует существующую и бросает исключение, если её нет, а NEVER, наоборот, бросает исключение при наличии транзакции; NESTED не является независимой физической транзакцией.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться