如何在Hibernate和JPA中记录事务回滚时的异常

如何在Hibernate和JPA中记录事务回滚时的异常,hibernate,jpa,logging,transactions,stack-trace,Hibernate,Jpa,Logging,Transactions,Stack Trace,我在项目中使用Hibernate和Spring以及JPA。代码在服务层中使用注释驱动的事务(使用@Transactional注释来支持事务)。事务管理器是org.springframework.orm.hibernate4.HibernateTransactionManager。当任何@Transactional注释方法中发生异常时,当前事务将以静默方式回滚 我想知道在事务回滚时是否要记录异常及其堆栈跟踪,如何实现这一点?您可以创建一个自定义的HibernateTxManager来扩展当前的Hi

我在项目中使用Hibernate和Spring以及JPA。代码在服务层中使用注释驱动的事务(使用@Transactional注释来支持事务)。事务管理器是org.springframework.orm.hibernate4.HibernateTransactionManager。当任何@Transactional注释方法中发生异常时,当前事务将以静默方式回滚


我想知道在事务回滚时是否要记录异常及其堆栈跟踪,如何实现这一点?

您可以创建一个自定义的HibernateTxManager来扩展当前的HibernateTxManager。然后重写它的方法doRollBack(),并编写记录器异常以从那里获取跟踪