我正在开发一个基于JPA + Hibernate,Spring和Wicket的Web应用程序。我想知道在我的代码中实现事务的最佳方式是什么?我应该使用什么事务管理器?应该是org.springframework.orm.jpa.JpaTransactionManager,还是org.springframework.jdbc.datasource.DataSourceTransactionManager?我想使用Spring来管理我的事务。
org.springframework.orm.jpa.JpaTransactionManager
org.springframework.jdbc.datasource.DataSourceTransactionManager
vjhs03f71#
nanda是对的,你只能使用JpaTransactionManager。我们在这里讨论的Transaction Manager抽象是Spring的PlatformTransactionManager接口,JPATransactionManager是该接口的唯一理解JPA的实现。您应该阅读Spring参考中的Transaction Management一章以更好地理解此主题。
s8vozzvw2#
org.springframework.transaction.PlatformTransactionManager接口是Spring API中的关键抽象,提供了在运行时控制事务操作的基本方法:开始、提交和回滚。
PlatformTransactionManager接口及其实现
1.JtaTransactionManager-----〉JTA1.DataSourceTransactionManager-----〉JDBC1.JpaTransactionManager-----〉JPA1.Hibernate事务管理器-----〉Hibernate这要看你用哪种Spring型号而定
wmvff8tz3#
我的首选是将其与注解一起使用:
<tx:annotation-driven transaction-manager="myTxManager" />
3条答案
按热度按时间vjhs03f71#
nanda是对的,你只能使用JpaTransactionManager。我们在这里讨论的Transaction Manager抽象是Spring的PlatformTransactionManager接口,JPATransactionManager是该接口的唯一理解JPA的实现。
您应该阅读Spring参考中的Transaction Management一章以更好地理解此主题。
s8vozzvw2#
org.springframework.transaction.PlatformTransactionManager接口是Spring API中的关键抽象,提供了在运行时控制事务操作的基本方法:开始、提交和回滚。
PlatformTransactionManager接口及其实现
1.JtaTransactionManager-----〉JTA
1.DataSourceTransactionManager-----〉JDBC
1.JpaTransactionManager-----〉JPA
1.Hibernate事务管理器-----〉Hibernate
这要看你用哪种Spring型号而定
wmvff8tz3#
我的首选是将其与注解一起使用: