#379 Откат транзакции при перехвате исключения
Что будет при вызове метода it(), если произойдет ошибка:
- В insert();
- В update()?
@Service
class Service {
@Autowired
private AccountRepository repository;
public void it(Data data) {
try {
repository.doIt(data);
} catch (Exception e) {
// Логируем ошибку
System.err.println("Error in service method: " + e.getMessage());
// Дополнительная обработка ошибки, если необходимо
}
}
}
@Repository
class AccountRepository {
@Transactional
public void doIt(Data data) throws Exception {
try {
insert();
update();
} catch (Exception e) {
// Логируем ошибку
System.err.println("Error during transaction: " + e.getMessage());
throw e; // Перебрасываем исключение
}
}
private void insert() {
// Логика для вставки данных
}
private void update() {
// Логика для обновления данных
}
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору