我正在开发一个基于JPA + Hibernate,Spring和Wicket的Web应用程序。我想知道在我的代码中实现事务的最佳方法是什么?我应该使用什么交易经理?应该是org.springframework.orm.jpa.JpaTransactionManager
,还是org.springframework.jdbc.datasource.DataSourceTransactionManager
还是其他什么?我想用Spring来管理我的交易。
答案 0 :(得分:24)
nanda is right, 只能使用JpaTransactionManager。我们在这里讨论的事务管理器抽象是Spring的PlatformTransactionManager接口,JPATransactionManager是理解JPA的接口的唯一实现。
您应该阅读Spring参考中的Transaction Management一章,以便更好地理解这一主题。
答案 1 :(得分:6)
org.springframework.orm.jpa.JpaTransactionManager
我的偏好是使用注释:
<tx:annotation-driven transaction-manager="myTxManager" />
答案 2 :(得分:4)
org.springframework.transaction.PlatformTransactionManager接口是Spring API中的关键抽象,提供了在运行时控制事务操作的基本方法:begin,commit和rollback。
PlatformTransactionManager 界面,其实现
它使你的要求无视你正在使用的弹簧