Встречается на собеседованиях • сегодня
Работал ли с Propagation.NESTED в Spring
Propagation.NESTED создает вложенную транзакцию, которая может быть откачена независимо от основной, но фиксируется только при успешном завершении внешней транзакции. Работает только с JDBC-драйверами, поддерживающими savepoints (например, PostgreSQL, MySQL).
Пример:
java
@Transactional(propagation = Propagation.REQUIRED)
public void outerMethod() {
// основной код
nestedMethod(); // вызов вложенного метода
// если здесь исключение - откатится всё
}
@Transactional(propagation = Propagation.NESTED)
public void nestedMethod() {
// если здесь исключение - откатится только этот блок
// но фиксация произойдет только после успеха outerMethod
}Ключевые особенности:
- Вложенная транзакция использует savepoint
- Откат вложенной транзакции не влияет на внешнюю
- Фиксация происходит только при успехе внешней транзакции
- Не поддерживается в JPA/Hibernate (только для JDBC)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы