Spring middle
Что такое Propagation?
Ответ
REQUIRED (default) — присоединяется к текущей или создаёт новую. REQUIRES_NEW — всегда новая, приостанавливает текущую (аудит/логирование). NESTED — savepoint внутри текущей (откат внешней откатывает и вложенную). SUPPORTS — присоединяется если транзакция есть, нет — работает без неё. MANDATORY требует существующую (иначе исключение), NEVER — наоборот, бросает исключение при наличии транзакции.
Разбор: REQUIRED присоединяется к текущей или создаёт новую; REQUIRES_NEW всегда создаёт новую, приостанавливая текущую; NESTED — это savepoint внутри текущей транзакции (откат внешней откатывает и вложенную). MANDATORY требует существующую и бросает исключение, если её нет, а NEVER, наоборот, бросает исключение при наличии транзакции; NESTED не является независимой физической транзакцией.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.