Встречается на собеседованиях • сегодня
Какие знаешь причины отмены транзакции в Spring
В Spring транзакции могут отменяться (rollback) по нескольким причинам:
- Unchecked исключения (наследники
RuntimeException) - по умолчанию вызывают откат - Помеченные исключения - через
@Transactional(rollbackFor = MyException.class) - Явный вызов
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly() - Таймаут - если транзакция превышает
@Transactional(timeout = 5) - Deadlock - при обнаружении взаимоблокировки СУБД
Пример:
java
@Transactional(rollbackFor = BusinessException.class)
public void process() {
try {
// бизнес-логика
} catch (DataAccessException ex) {
// вызовет rollback, т.к. DataAccessException - RuntimeException
throw new BusinessException("Ошибка", ex);
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы