什么交易经理使用? (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接口,它的实现
- JtaTransactionManager —–> JTA
- DataSourceTransactionManager —–> JDBC
- JpaTransactionManager ——> JPA
- HibernateTransactionManager ——> Hibernate
它取消了你的要求,即你正在使用的弹簧