我在带有 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/

10-13 01:15