gpt4 book ai didi

java - 是否可以通过配置覆盖 persistence.xml 属性?

转载 作者:行者123 更新时间:2023-11-30 06:38:34 24 4
gpt4 key购买 nike

JBOSS 5.1/EJB 3/JPA/MySQL

对于开发,我们将“hibernate.hbm2ddl.auto”指定为“更新”。这是在嵌入在耳朵中的几个 jar 中的几个 persistence.xml 文件中完成的。

对于生产,我们希望覆盖它以指定“验证”。

这可以通过耳朵外部的配置来完成吗?

(我知道可以在非托管环境中用代码执行此操作)

最佳答案

对于 JBoss 5.1,需要编辑以下文件:

<jboss_dir>/server/default/deployers/ejb3.deployer/META-INF/jpa-deployers-jboss-beans.xml

<bean name="PersistenceUnitDeployer" class="org.jboss.jpa.deployers.PersistenceUnitDeployer">
<property name="defaultPersistenceProperties">
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry>
<key>hibernate.transaction.manager_lookup_class</key>
<value>org.hibernate.transaction.JBossTransactionManagerLookup</value>
</entry>
<entry>
<key>hibernate.hbm2ddl.auto</key>
<value>validate</value>
</entry>
<entry>
<key>hibernate.cache.provider_class</key>
<value>org.hibernate.cache.HashtableCacheProvider</value>
</entry>
<entry>
<key>hibernate.jndi.java.naming.factory.initial</key>
<value>org.jnp.interfaces.NamingContextFactory</value>
</entry>
<entry>
<key>hibernate.jndi.java.naming.factory.url.pkgs</key>
<value>org.jboss.naming:org.jnp.interfaces</value>
</entry>
<entry>
<key>hibernate.bytecode.use_reflection_optimizer</key>
<value>false</value>
</entry>
<!-- I don't think this is honored, but EJB3Deployer uses it -->
<entry>
<key>hibernate.bytecode.provider</key>
<value>javassist</value>
</entry>
</map>
</property>
</bean>

可以在 JBoss 4.2 中的以下文件中编辑这些属性:

<jboss_dir>/server/default/deploy/ejb3.deployer/META-INF/persistence.properties

关于java - 是否可以通过配置覆盖 persistence.xml 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2094159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com