Если вы хотите отслеживать откат, вы можете настроить ведение журнала для org.hibernate.transaction пакета
13:50:28,597 DEBUG http-8080-1 org.hibernate.transaction.JDBCTransaction - begin
13:50:28,657 DEBUG http-8080-1 org.hibernate.transaction.JDBCTransaction - current autocommit status: true
13:50:28,657 DEBUG http-8080-1 org.hibernate.transaction.JDBCTransaction - disabling autocommit
13:50:28,714 DEBUG http-8080-1 org.hibernate.transaction.JDBCTransaction - commit
13:50:28,773 DEBUG http-8080-1 org.hibernate.transaction.JDBCTransaction - re-enabling autocommit
13:50:28,828 DEBUG http-8080-1 org.hibernate.transaction.JDBCTransaction - committed JDBC Connection
Если вы хотите предпринять какие-либо действия при откате транзакции, вы можете использовать AOPчтобы создать аспект и сопоставить его с выполнением метода org.hibernate.Transaction.rollback ().
@Aspect
public class TransactionMonitoringAspect {
@Before("execution(* org.hibernate.Transaction.rollback())")
public void deviceLoad(String deviceSerial) {
//do something here
}
}
вы можете использовать различные аннотации из пакета org.aspectj.lang.annotation для выполнения различных методов вокруг отката () метод.