簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM