【发布时间】:2021-08-16 19:51:33
【问题描述】:
我遇到了一个使用 OpenJPA 和 DB2 在 Websphere Liberty 18 上运行的旧项目。在 persistence.xml 文件中有一个具有以下声明的持久单元:
<persistence-unit name="my-pu" transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>jdbc/my-data-source</jta-data-source>
</persistence-unit>
如果我们使用 RESOURCE_LOCAL 事务并且有代码可以手动管理分散在整个应用程序中的事务,那么数据源不应该声明为“non-jta-data-资源”?有趣的是,尽管如此,该应用程序似乎运行良好。任何想法为什么它可以正常工作?
【问题讨论】:
-
为什么它不能工作?
jta-data-source应该指向 JTA-aware 数据源,如果使用它,事务类型默认设置为 JTA,但由于您明确要求使用RESOURCE_LOCAL事务相反,没有什么特别的事情发生
标签: jpa db2 websphere-liberty openjpa open-liberty