我正在使用:
- hibernate 5.0.2
- Spring 4.2
- Atomikos 3.9.3
官方文档说你只需要设置jtaTransactionManager,一切就可以了:
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="atomikosDataSource" />
<property name="jtaTransactionManager" ref="jtaTransactionManager"/>
[...]
</bean>
不幸的是, session 没有刷新 - 没有进行写入。这是什么问题?
最佳答案
问题是 Hibernate 5 要求我们设置以下属性,而 Spring 尚未自动执行此操作:
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
[...]
<property name="hibernateProperties">
<props>
[...]
<prop key="hibernate.transaction.coordinator_class">jta</prop>
</props>
这解决了我的问题。
关于spring - Hibernate 5 与 Spring JTA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33127854/