【发布时间】:2012-04-25 21:40:26
【问题描述】:
我正在开发一个 Web 应用程序,并决定使用 spring-data 是一个好主意。公平地说,它让生活变得非常简单,并且 DAO 层非常薄。
我遇到的问题与持久化数据有关。当我使用 JPATransactionManager 时,持久性按预期工作。但我需要使用 JTATransactionManager。当我使用它时,事务看起来不错,但休眠刷新似乎与 tx 提交无关
DEBUG [org.springframework.transaction.jta.JtaTransactionManager] (http--127.0.0.1-8080-2) 创建名为 [com.clubgroups.user.registration.service.impl.UserRegistrationServiceImpl.registerUser] 的新事务: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
DEBUG [org.springframework.transaction.jta.JtaTransactionManager] (http--127.0.0.1-8080-2) 参与现有交易
DEBUG [org.springframework.transaction.jta.JtaTransactionManager] (http--127.0.0.1-8080-2) 启动事务提交
上面是确认事务正在提交的调试消息。但是数据似乎没有刷新到数据库中。
我这样初始化事务管理器:
@Bean
public JpaTransactionManager transactionManager() {
JtaTransactionManager transactionManager = new JtaTransactionManager();
return transactionManager;
}
任何帮助都会很棒。
【问题讨论】:
-
也许你在某处放了一个只读标志?还是您在某处将 FlushMode 更改为 MANUAL?
标签: java spring hibernate jta spring-data