要使用什么事务管理器?(JPA,春季)

2022-09-01 16:56:27

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


答案 1

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

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


答案 2

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

PlatformTransactionManager 接口及其实现

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

它破坏了你的要求,你正在使用的春天的莫德尔


推荐