Встречается на собеседованиях • сегодня
Что такое Transaction Propagation в Spring
Transaction Propagation определяет, как транзакция должна вести себя при вызове одного метода из другого. В Spring есть несколько типов:
- REQUIRED (по умолчанию) – если есть активная транзакция, метод использует её, иначе создаёт новую.
- REQUIRES_NEW – всегда создаёт новую транзакцию, приостанавливая текущую, если она есть.
- SUPPORTS – работает в транзакции, если она есть, иначе без неё.
- NOT_SUPPORTED – выполняется без транзакции, приостанавливая текущую, если она есть.
- MANDATORY – требует активной транзакции, иначе исключение.
- NEVER – запрещает транзакцию, иначе исключение.
- NESTED – создаёт вложенную транзакцию, если активная есть (работает только с некоторыми DataSource).
Пример:
java
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void updateUser(User user) {
// Будет выполнено в новой транзакции
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы