Java 使用什么事务管理器?(JPA,Spring)
我正在开发一个基于JPA+Hibernate、Spring和Wicket的web应用程序。我想知道在我的代码中实现事务的最佳方式是什么?我应该使用什么事务管理器?它应该是Java 使用什么事务管理器?(JPA,Spring),java,spring,jpa,transactions,Java,Spring,Jpa,Transactions,我正在开发一个基于JPA+Hibernate、Spring和Wicket的web应用程序。我想知道在我的代码中实现事务的最佳方式是什么?我应该使用什么事务管理器?它应该是org.springframework.orm.jpa.JpaTransactionManager,还是org.springframework.jdbc.datasource.DataSourceTransactionManager或其他什么?我想使用Spring来管理我的事务 org.springframework.orm.j
org.springframework.orm.jpa.JpaTransactionManager
,还是org.springframework.jdbc.datasource.DataSourceTransactionManager
或其他什么?我想使用Spring来管理我的事务
org.springframework.orm.jpa.JpaTransactionManager
我倾向于将其与注释一起使用:
<tx:annotation-driven transaction-manager="myTxManager" />
,您只能使用JpaTransactionManager。我们在这里讨论的事务管理器抽象是Spring的接口,并且是该接口的唯一理解JPA的实现
您应该阅读Spring参考中的一章,以便更好地理解此主题。org.springframework.transaction.PlatformTransactionManager接口是Spring API中的关键抽象,提供了在运行时控制事务操作的基本方法:开始、提交和回滚 平台TransactionManager接口及其实现
根据您的要求,您使用的是哪种类型的spring(为了完整性,+1,为了公平起见,+1用于nanda:)@SeanPatrickFloyd如果我们可以使用JpaTransactionManager,那么为什么在spring中存在这么多其他transactionmanager,以及何时应该使用它们?@Erlan只有一个transactionmanager实现每种持久性类型:jdbc、hibernate、jpa、JDM。现在我明白了。感谢为什么不同的持久性类型(jdbc、hibernate、jpa…)依赖于相同的接口
PlatformTransactionManager
,但只能用于特定的实现?