, поскольку существует много способов управления транзакциями, которые называются транзакциями. Распространение
TransactionDefinition.PROPAGATION_MANDATORY: поддерживает текущую транзакцию; выдает исключение, если текущая транзакция не существует.
TransactionDefinition.PROPAGATION_NESTED: Выполняется во вложенной транзакции, если текущая транзакция существует.
TransactionDefinition.PROPAGATION_NEVER: не поддерживает текущую транзакцию; выдает исключение, если текущая транзакция существует.
TransactionDefinition.PROPAGATION_NOT_SUPPORTED: не поддерживает текущую транзакцию; скорее всегда выполняется нетранзакционно.
TransactionDefinition.PROPAGATION_REQUIRED: Поддерживает текущую транзакцию; создает новую, если ее не существует.
TransactionDefinition.PROPAGATION_REQUIRES_NEW: создает новую транзакцию, приостанавливая текущую транзакцию, если она существует.
TransactionDefinition.PROPAGATION_SUPPORTS: поддерживает текущую транзакцию; выполняется без транзакций, если их не существует.
TransactionDefinition.TIMEOUT_DEFAULT: использует тайм-аут по умолчанию для базовой системы транзакций или нет, если тайм-ауты не поддерживаются.