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