如何为Postgres数据库架构配置JPA?

时间:2018-11-06 16:33:20

标签: java postgresql jpa datasource web.xml

我有一个现有的postgres数据库,其中包含数据库“ testdb”和数据库模式“ testdbschema”。

如果我使用RESOURCE_LOCAL的默认persistence.xml配置,则以下属性有效:

<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://server:port/testdb?currentSchema=testdbschema" /> 

我想将我的web.xml中的数据库连接配置为数据源。除了数据库模式的配置之外,其他所有东西都运行良好。

这是我的web.xml配置:

<data-source>
    <name>java:global/myapp</name>
    <class-name>org.postgresql.ds.PGSimpleDataSource</class-name>
    <server-name>127.0.0.1</server-name>
    <port-number>5432</port-number>
    <database-name>testdb</database-name> 
    <user>postgres</user>
    <password>postgres</password>
</data-source>

您现在如何在此处配置数据库模式名称?

通过testdb?currentSchema = testdbschema进行的配置对我不起作用,我发现数据库未找到失败。

1 个答案:

答案 0 :(得分:0)

在PGSimpleDataSource中找到了解决方案:

<data-source>
    <name>java:global/myapp</name>
    <class-name>org.postgresql.ds.PGSimpleDataSource</class-name>
    <server-name>127.0.0.1</server-name>
    <port-number>5432</port-number>
    <database-name>testdb</database-name>
    <user>postgres</user>
    <password>postgres</password>

    <property>
        <name>currentSchema</name>
        <value>testdbschema</value>
    </property>