gpt4 book ai didi

java - 如何在 Hibernate XML 配置文件中使用属性表示法

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:26 25 4
gpt4 key购买 nike

这仍然是一个悬而未决的问题。希望有一天我能得到答案。感谢所有回复的人。

我的问题很简单。如何在 Hibernate XML 配置文件中使用 ${catalina.home} 或 ${catalina.base} 属性?

这是我的示例配置文件:

<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hbm2ddl.auto">update</property>
<property name="show_sql">false</property>
<property name="cache.use_second_level_cache">false</property>

<mapping jar="/opt/tomcat/apache-tomcat-5.5.29/webapps/MyApp/WEB-INF/lib/MyHibernateMaps.jar" />
</session-factory>

我当前的配置文件没问题。但我想至少抽象出 Tomcat 的位置。而不是使用这个:

<mapping jar="/opt/tomcat/apache-tomcat-5.5.29/webapps/MyApp/WEB-INF/lib/MyHibernateMaps.jar" />

我想将其转换为:

<mapping jar="${catalina.base}/webapps/MyApp/WEB-INF/lib/MyHibernateMaps.jar" />

我尝试直接这样做,但我刚刚收到一个错误,表明 jar 文件丢失或找不到。我用 Google 搜索过,但没有结果。

我需要进行这样的设置的原因是因为我将应用程序部署在三台计算机上。一是用于生产。另一种是为了发展。最后一个是本地主机(在家里)。这三台机器在三个不同的位置安装了tomcat。

因此,每次部署应用程序时,我都必须修改行 /opt/tomcat/apache-tomcat-5.5.29/ 以匹配计算机上的 tomcat 位置。

有什么想法吗?

另外,使用catalina.home还是catalina.base更好?我只在本地主机上使用一台 tomcat。但在开发和生产方面,我们有两个 Tomcat (当然在两个不同的地点)。

谢谢

顺便说一句,这个 Hibernate 配置文件在 Spring XML 配置文件中使用:

<bean id="appSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="appDataSource"/>
</property>
<property name="configLocation">
<value>${hibernate.config}</value>
</property>
</bean>

最佳答案

你不需要这个。假设 JAR 位于应用程序类路径上(这是 WAR 的 /WEB-INF/lib 目录下的 JAR 的情况),只需使用:

<mapping jar="myapp.jar" />

关于java - 如何在 Hibernate XML 配置文件中使用属性表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467073/

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