[英]How to use properties notation in a Hibernate XML configuration file
這仍然是一個懸而未決的問題。 希望有一天我能得到答案。 感謝所有答復。
我的問題很簡單。 如何在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文件丟失或找不到。 我已經谷歌搜索,但無濟於事。
之所以需要這樣的設置,是因為我在三台機器上部署了我的應用程序。 一種是用於生產。 另一個是為了發展。 最后一個是本地主機的。 這三台機器的tomcat安裝在三個不同的位置。
因此,每次部署應用程序時,我都必須修改/opt/tomcat/apache-tomcat-5.5.29/行,以匹配計算機上的tomcat位置。
有任何想法嗎?
另外,最好使用catalina.home或catalina.base嗎? 我在本地主機上只使用一個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" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.