我怎么改变persistence.xml 在运行的时间
题
我是新来的openJPA.
我有一种情况,取决于服务器在哪里我的应用程序的运行,我需要改变设置persistance.xml.为。如果它运行服务器上的一个,那么就应该使用不同的数据库(不同url),不同的密码等。如果运行应用程序服务器B那么就应该使用不同的信息。
你能不能还告诉我,其方式应当这样做,使用的数据源,或只是把性质,在持久性单元。
FYI我使用WS应用程序。服务器和7RAD7.5
任何类型的帮助将受到高度赞赏。
解决方案
你使用的应用程序服务器,所以你不需要设置的数据库连接设置在persistence.xml 文件。你应该能够创建一个JNDI中的数据源应用服务器然后使用。每个服务器可能的数据源的相同参数,然后将没有任何需要persistence.xml 差异。
讲习班,访问用户和数据源 似乎尤其相关。作为不 设立一个JNDI数据源中的WebSphere6.0/6.1 和 WebSphere+JNDI+弹框架+休眠.
您使用的是春天?如果是这样,那么问题是容易的解决:你不要把数据来源的信息,在你的persistence.xml你把它放在你的应用程序方面,就会有不同的配置在每个服务器。
例如:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:database.properties"/>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${database.class}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.username}"/>
<property name="password" value="${database.password}"/>
</bean>
和每个服务器可以有不同的数据库。性文件上的每台服务器(其中各类路径中的某个地方在此例):
database.username=scratch
database.password=scratch
database.class=oracle.jdbc.OracleDriver
database.url=jdbc:oracle:thin:@localhost:1521:XE
改变persistence.xml 在运行时,会有问题因为那不是真的如何访问用户设计的目的。
当然,你可以使用JNDI数据来源泉。
不隶属于 StackOverflow