我在带有 DB2 的 WebSphere 上使用 OpenJPA 1.2.3。
有没有一种方法可以以允许相同的应用程序 (EAR) 根据环境(DEV、ACPT、PROD 等)更改架构名称的方式构建和捆绑我的应用程序。
我的 PU 设置为容器管理如下:
<persistence>
<persistence-unit name="My_PU" transaction-type="JTA">
<jta-data-source>jdbc/DataSource</jta-data-source>
...
<properties>
<property name="openjpa.jdbc.Schema" value="MYSCHEMA"/>
<property name="openjpa.TransactionMode" value="managed"/>
<property name="openjpa.ConnectionFactoryMode" value="managed"/>
</properties>
</persistence-unit>
</persistence>
我已经考虑将它放在 ORM.xml 中,但这仍然是架构的静态值,并且不会将设置具体化;此外,它似乎不起作用(我已经看到许多讨论此问题的线程)。我也研究过将此配置放入 WebSphere 数据源;这似乎也不起作用。
——基思
最佳答案
我不熟悉 OpenJPA,但我猜 openjpa.jdbc.Schema
属性是可选的。数据源(即 jdbc/DataSource
中的数据源)将决定使用的默认模式。
你有没有试过把属性(property)留在外面?
关于jpa - OpenJPA 架构配置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4695827/