После моего предыдущего вопроса, на который был получен хороший ответ => @ Транзакционный не работает, когда я выбрасываю исключение на следующей строке
У меня есть этот вопрос сейчас:
У меня есть метод:
@Transactional
public void processFile(final Path path) {
try {
//code that manipulates database adding entries
} catch (final Exception e) {
this.handleException(e));
}
}
, который вызывает приведенное ниже добавление fileName that failed
в качестве записи в таблице базы данных ( мониторинг ):
void handleException(final Throwable e) {
//Save the name of the file that failed to be processed
this.filesMonitoringJpaManager.save(newEntryFileName);
throw new Exception(...)
}
Таким образом, метод processFile выполняет различные изменения базы данных, которые я хочу откатить при возникновении любой ошибки. Хотя метод handleException сохраняет в таблицу мониторинг имя файла не может быть обработано.
Итак:
Как выполнить откат Вся транзакция в случае Исключение , но все равно сделать это сохранить / обновить this.filesMonitoringJpaManager.save(newEntryFileName);
в базе данных, потому что мне это нужно?