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