На какие исключения откатывается транзакция по умолчанию?

Ответ

На RuntimeException и Error. Checked-исключения НЕ откатывают по умолчанию — нужно rollbackFor = Exception.class.

Разбор: По умолчанию @Transactional откатывает транзакцию только на unchecked-исключениях — RuntimeException и Error. На checked-исключения отката не будет, пока явно не указан rollbackFor = Exception.class. Это частый источник «потерянных» откатов, когда из метода летит проверяемое исключение.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться