Назад к вопросам
Junior — Middle
70
Имел ли опыт работы с Propagation.NESTED в Spring?
Компании, где спрашивали
Технодиасофт
Ответ от нейросети
sobes.tech AI
Propagation.NESTED в Spring — это тип поведения транзакций, при котором новая транзакция создаётся внутри существующей как вложенная. В отличие от REQUIRES_NEW, вложенная транзакция использует тот же физический коннекшн, но имеет свою точку сохранения (savepoint).
Если вложенная транзакция откатывается, откатывается только её часть до savepoint, а внешняя транзакция может продолжить работу и быть зафиксирована.
Пример использования:
@Transactional(propagation = Propagation.NESTED)
public void nestedMethod() {
// операции, которые можно откатить отдельно
}
Это полезно, когда нужно частично откатывать операции внутри большой транзакции без полного отката всей транзакции.