2012-05-30 195 views
0

我正在嘗試將Spring 3與Spring 3.1.0集成。問題在於應用程序無法找到在hibernate.cfg.xml文件中聲明的映射文件。最初,hibernate配置具有數據源配置,hibernate屬性和映射hbm.xml文件。 高級hibernate.cfg.xml文件存在於src文件夾中。這是主文件的外觀:將Spring配置文件導入Spring應用程序上下文

<hibernate-configuration> 
    <session-factory> 
     <!-- Mappings --> 
     <mapping resource="com/test/class1.hbm.xml"/> 
     <mapping resource="/class2.hbm.xml"/> 
     <mapping resource="com/test/class3.hbm.xml"/> 
     <mapping resource="com/test/class4.hbm.xml"/> 
     <mapping resource="com/test/class5.hbm.xml"/> 

Spring配置是:

<bean id="sessionFactoryEditSolution" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="data1"/> 
     <property name="mappingResources"> 
      <list> 
       <value>/master.hibernate.cfg.xml</value> 
      </list> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> 
       <prop key="hibernate.cache.use_second_level_cache">true</prop> 

      </props> 
     </property> 
    </bean> 

回答

1

你可以自由路徑的開頭斜槓,所以你正在尋找根吧。這幾乎肯定是不正確的。

<value>/master.hibernate.cfg.xml</value> 

我通常指定我的配置是這樣的:

<value>classpath:master.hibernate.cfg.xml</value> 

這工作,如果你的master.hibernate.cfg.xml在你的資源。

0

你可以嘗試下面的代碼來指出彈簧的正確位置hibernate.cfg.xml

<bean 
    id="mySessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 

    <property name="configLocation">  
     <value> 
      classpath:location_of_config_file/hibernate.cfg.xml 
     </value> 
    </property> 
........... 
</bean> 
相關問題