Встречается на собеседованиях • сегодня
Как обеспечить возврат транзакции при проверяемом исключении
В Java транзакции можно откатить при исключении с помощью @Transactional. По умолчанию откат происходит только при unchecked исключениях (RuntimeException). Для checked исключений нужно явно указать это в аннотации:
java
@Transactional(rollbackFor = Exception.class)
public void processPayment() throws PaymentException {
// бизнес-логика
if (errorCondition) {
throw new PaymentException("Ошибка платежа"); // checked исключение
}
}Ключевые моменты:
rollbackForуказывает, для каких исключений делать откат- Можно указать несколько классов исключений:
rollbackFor = {PaymentException.class, ValidationException.class} - Для отключения отката используйте
noRollbackFor
В Spring управление транзакциями обычно делегируется TransactionManager, который обрабатывает аннотации @Transactional.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы