【发布时间】:2013-12-26 13:34:31
【问题描述】:
我们在persistence.xml 文件中使用以下属性。
<properties>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="javax.persistence.jdbc.dialect" value="org.hibernate.dialect.OracleDialect" />
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@XYZDB01:78111:TATAD1" />
<property name="javax.persistence.jdbc.user" value="admin" />
<property name="javax.persistence.jdbc.password" value="admin@123" />
<property name="javax.persistence.jdbc.Schema" value="CSMVC" />
</properties>
但我想从 persistence.xml 外部化动态属性,如下所示。
<properties>
<property name="javax.persistence.jdbc.driver" value="${db.driver}" />
<property name="javax.persistence.jdbc.dialect" value="${db.dialect}" />
<property name="javax.persistence.jdbc.url" value="${db.url}" />
<property name="javax.persistence.jdbc.user" value="${db.user}" />
<property name="javax.persistence.jdbc.password" value="${db.password}" />
<property name="javax.persistence.jdbc.Schema" value="${db.schema}" />
</properties>
注意:我们使用 openJpa 作为 JPA 提供程序。
【问题讨论】:
-
你在使用 Spring Framework 吗?
-
没有。我们不使用 Spring。
-
注意:Java EE 7 规范中没有提到名为
javax.persistence.jdbc.dialect的属性。 -
什么时候可以解决?启动时?价值观的来源是什么?另一个xml?
标签: java jakarta-ee jpa openjpa