什么交易经理使用? (JPA,spring)

我正在开发一个基于JPA + Hibernate,Spring和Wicket的Web应用程序。 我想知道在我的代码中实现事务的最佳方法是什么? 我应该使用什么交易经理? 应该是org.springframework.orm.jpa.JpaTransactionManager ,还是org.springframework.jdbc.datasource.DataSourceTransactionManager或其他什么? 我想用Spring来管理我的交易。

nanda是对的 ,你只能使用JpaTransactionManager。 我们在这里讨论的事务管理器抽象是Spring的PlatformTransactionManager接口, JPATransactionManager是理解JPA的那个接口的唯一实现。

您应该阅读Spring参考中的“ 事务管理 ”一章,以便更好地理解本主题。

 org.springframework.orm.jpa.JpaTransactionManager 

我的偏好是使用这个注释:

  

org.springframework.transaction.PlatformTransactionManager接口是Spring API中的关键抽象,提供了在运行时控制事务操作的基本方法:begin,commit和rollback。

PlatformTransactionManager接口,它的实现

  1. JtaTransactionManager —–> JTA
  2. DataSourceTransactionManager —–> JDBC
  3. JpaTransactionManager ——> JPA
  4. HibernateTransactionManager ——> Hibernate

它取消了你的要求,即你正在使用的弹簧