Sobes.tech
Назад к вопросам
Junior — Middle
70

Имел ли опыт работы с Propagation.NESTED в Spring?

Компании, где спрашивали
Технодиасофт

Ответ от нейросети

sobes.tech AI

Propagation.NESTED в Spring — это тип поведения транзакций, при котором новая транзакция создаётся внутри существующей как вложенная. В отличие от REQUIRES_NEW, вложенная транзакция использует тот же физический коннекшн, но имеет свою точку сохранения (savepoint).

Если вложенная транзакция откатывается, откатывается только её часть до savepoint, а внешняя транзакция может продолжить работу и быть зафиксирована.

Пример использования:

@Transactional(propagation = Propagation.NESTED)
public void nestedMethod() {
    // операции, которые можно откатить отдельно
}

Это полезно, когда нужно частично откатывать операции внутри большой транзакции без полного отката всей транзакции.