❓ Что такое Propagation в Spring?Propagation — это
режимы управления транзакциями, которые определяют, как транзакции должны вести себя при вызове метода внутри другого метода, который уже находится в транзакции. ▪️ Основные режимы:— REQUIRED (по умолчанию):
если транзакция существует, то текущий метод будет работать в рамках этой транзакции. Если транзакция не существует, создается новая.—
REQUIRES_NEW: создается новая транзакция, даже если уже существует текущая. Текущая транзакция будет приостановлена до завершения новой.
— NESTED:
в рамках текущей транзакции создается вложенная транзакция. В случае отката внешней транзакции будет откатана и вложенная.—
MANDATORY: метод должен быть вызван в рамках существующей транзакции. Если транзакции нет, выбрасывается исключение.
— NEVER:
метод не должен выполняться в рамках транзакции. Если транзакция существует, выбрасывается исключение.—
SUPPORTS: если транзакция существует, метод будет выполнен в ее рамках. Если транзакции нет, метод будет выполнен без транзакции.
— NOT_SUPPORTED:
метод выполняется без транзакции. Если транзакция существует, она приостанавливается на время выполнения метода.🐸 Библиотека собеса по Java