gpt4 book ai didi

java - Spring Data、Hibernate 4.1.1 和 Spring JTA 事务管理器

转载 作者:太空宇宙 更新时间:2023-11-04 08:16:28 25 4
gpt4 key购买 nike

我正在开发一个 Web 应用程序,并决定使用 spring-data 将是一个好主意。公平地说,它让生活变得极其简单,而且 DAO 层非常薄。

我遇到的问题与持久数据有关。当我使用 JPATransactionManager 时,持久性按预期工作。但我需要使用 JTATransactionManager。当我使用它时,事务看起来不错,但 hibernate 刷新似乎与 tx 提交无关

DEBUG [org.springframework.transaction.jta.JtaTransactionManager] (http--127.0.0.1-8080-2) Creating new transaction with name [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) Participating in existing transaction

DEBUG [org.springframework.transaction.jta.JtaTransactionManager] (http--127.0.0.1-8080-2) Initiating transaction commit

上面是确认事务正在提交的调试消息。但数据似乎没有刷新到数据库。

我像这样初始化事务管理器:

@Bean
public JpaTransactionManager transactionManager() {
JtaTransactionManager transactionManager = new JtaTransactionManager();

return transactionManager;
}

任何帮助都会很棒。

最佳答案

我对你的 JTA 设置有点困惑,因为它非常不寻常。首先看一下the reference documentation关于如何正确设置 JTA 事务。简单地实例化 JtaTransactionManager 是行不通的,因为您需要通过某种方式从 JNDI 获取 UserTransaction。如果您在 @Bean 方法中调用 afterPropertiesSet(),您应该会看到弹出错误,因为这将揭示丢失的配置。

关于java - Spring Data、Hibernate 4.1.1 和 Spring JTA 事务管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com