关于spring+hibernate配置jta事务提交后没有持久化到数据库(求大神帮忙看看) 30C

我的环境 spring 5.0+hibernate5.0+atomilkos 我想用二个数据库资源进行jta事物管理
一个mysql 一个oracle
这是我的配置文件:图片说明

https://img-ask.csdn.net/upload/201612/25/1482674803_698369.png

这是我的dao代码
https://img-ask.csdn.net/upload/201612/25/1482675145_855437.png

这是我的service代码
        https://img-ask.csdn.net/upload/201612/25/1482675038_683404.png

    这是单元测试
        https://img-ask.csdn.net/upload/201612/25/1482675110_107287.png

        控制台输出
        https://img-ask.csdn.net/upload/201612/25/1482675173_466045.png

        测试能通过中间没有异常抛出,是有事务参与其中。但是数据并未有持久化到数据库。看了spring 的官方文档,关于这快没有详细说明,与hibernate整合jta的详细细节。这里有个问题,配置jta事务是应该通过SessionFactory.getCurrentSession()获取Session,还是通过openSession()获取会话。但是2种方式都试过,没有提交。我单独用jdbc实现的方式,就能正常使用jta的提交与回滚功能。是不是我还有那个地方缺少配置。请大神指点一下!!

2个回答

这么多配置,我都看晕了,,你这个肯定是事物没有提交.....先尝试用单个数据库试试,看可不可撒.

u012930316
病毒先生 66666
大约 3 年之前 回复
perfectIdeal
触动心灵的旋律 一切都配置好了就是配置hibernate的时候差了一个 <prop key="hibernate.transaction.factory_class">org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl</prop> 自己搞了好久终于解决
大约 3 年之前 回复

应该是atomilkos没有配置好

perfectIdeal
触动心灵的旋律 一切都配置好了就是配置hibernate的时候差了一个 <prop key="hibernate.transaction.factory_class">org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl</prop> 自己搞了好久终于解决
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问