Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 审核数据库回滚_Java_Hibernate_Spring_Jpa - Fatal编程技术网

Java 审核数据库回滚

Java 审核数据库回滚,java,hibernate,spring,jpa,Java,Hibernate,Spring,Jpa,我想知道在Spring(3.1)、Hibernate/JPA环境中是否有内置/标准的方法来审计db回滚 非常感谢任何提示 谢谢 Jonny我正在启用“hibernate.show\u sql”并使用日志记录配置 log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER log4j.additivity.org.hibernate.SQL=false 应该可以帮助您记录SQL语句。如果您想监视回滚,可以为包设置日志记录 如果您想在事务回滚时采取一些操作

我想知道在Spring(3.1)、Hibernate/JPA环境中是否有内置/标准的方法来审计db回滚

非常感谢任何提示

谢谢 Jonny

我正在启用“hibernate.show\u sql”并使用日志记录配置

log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER
log4j.additivity.org.hibernate.SQL=false

应该可以帮助您记录SQL语句。

如果您想监视回滚,可以为包设置日志记录

如果您想在事务回滚时采取一些操作,可以使用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包中的各种注释来执行rollback()方法的各种方法。

您正在使用hibernate吗?是的,我正在使用hibernate。
@Aspect
public class TransactionMonitoringAspect {

@Before("execution(* org.hibernate.Transaction.rollback())")
public void deviceLoad(String deviceSerial) {
  //do something here
}

}