Я бы хотел посоветовать метод, аннотированный @Transactional. Как я могу убедиться, что логика в моих пользовательских советах выполняется перед передачей базы данных?
Мой совет выдает исключение, например,
@Aspect
@Component
public class myAdvice {
@Pointcut("packageA.ClassA.methodA()")
public void methodA() {}
@Around("methodA()")
public void throwException() throws IOException {
throw new IOExcception("something failed.");
}
}
Также у нас есть метод A ():
@Transactional(rollbackFor=IOException.class)
public void methodA() {
doSomeDatabaseTransaction();
}
Имеет значение, будет ли база данных зафиксирована до того, как будет сгенерировано исключение после того, как сгенерировано исключение.