【发布时间】:2018-01-29 16:06:00
【问题描述】:
来自https://github.com/jbosstm/narayana/,我试过用
org.jboss.narayana.jta:narayana-jta:5.6.2.Final
为 Spring 实现 JTA 事务管理器 数据 JPA (Hibernate) 项目。
虽然 Hibernate 成功返回了使用 id 保存的对象(由 Sequence 生成),但该行实际上并未持久化在数据库中。
欢迎任何帮助。
弹簧配置:
<jee:jndi-lookup id="userTxn" jndi-name="java:comp/UserTransaction" />
<jee:jndi-lookup id="tm" jndi-name="java:comp/env/TransactionManager" />
<jee:jndi-lookup id="jtaTxnSyncRegistry" jndi-name="java:comp/env/TransactionSynchronizationRegistry" />
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="userTransaction" ref="userTxn"></property>
<property name="transactionManager" ref="tm"/>
<property name="transactionSynchronizationRegistry"
ref="jtaTxnSyncRegistry"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="entityManagerFactoryJTA" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:persistenceUnitName="myPU_JTA">
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
</bean>
<jpa:repositories base-package="com.xxx.repository.jta"
entity-manager-factory-ref="entityManagerFactoryJTA"
transaction-manager-ref="transactionManager" />
apache-tomcat-8.5.16的context.xml:
<Resource name="UserTransaction" auth="Container"
type="javax.transaction.UserTransaction" factory="com.arjuna.ats.jta.TransactionManager" />
<Transaction factory="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple" /> <!-- auth="Container" -->
<Resource name="TransactionManager" auth="Container" type="javax.transaction.TransactionManager" factory="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"></Resource>
<Resource name="TransactionSynchronizationRegistry" auth="Container" type="javax.transaction.TransactionSynchronizationRegistry"
factory="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple" />
【问题讨论】:
标签: java hibernate jpa jboss spring-data-jpa