java 使用什么事务管理器?(JPA,Spring)

yhxst69z  于 2023-05-05  发布在  Java
关注(0)|答案(3)|浏览(186)

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

vjhs03f7

vjhs03f71#

nanda是对的,你只能使用JpaTransactionManager。我们在这里讨论的Transaction Manager抽象是Spring的PlatformTransactionManager接口,JPATransactionManager是该接口的唯一理解JPA的实现。
您应该阅读Spring参考中的Transaction Management一章以更好地理解此主题。

s8vozzvw

s8vozzvw2#

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

PlatformTransactionManager接口及其实现

1.JtaTransactionManager-----〉JTA
1.DataSourceTransactionManager-----〉JDBC
1.JpaTransactionManager-----〉JPA
1.Hibernate事务管理器-----〉Hibernate
这要看你用哪种Spring型号而定

wmvff8tz

wmvff8tz3#

org.springframework.orm.jpa.JpaTransactionManager

我的首选是将其与注解一起使用:

<tx:annotation-driven transaction-manager="myTxManager" />

相关问题