2012-01-24 5 views
0

"コンテキスト"からhbmファイルを外部化しようとしています。これらのhbmファイルは、tomcatのホームフォルダの直下にある "test"というディレクトリにあります。 クラスパスに "test"を追加しようとしましたが、/conf/catalina.propertiesのshared.loaderまたはcommon.loaderプロパティも追加しました。それは動作しません。コンテキスト外のhbmファイルの外部化 - どのように?

私が探している解決策を見つけるのを手伝ってくれる人はいますか?ここで

はアプリ-のcontext.xmlからのコードの一部である

<bean id="sessionFactory" 
     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="annotatedClasses"> 
     <list> 
     <value>com.test.model.Person</value> 
     </list> 
    </property> 
    <property name="mappingResources"> 
     <list> 
      <value>classpath:Person.hbm.xml</value> 
     </list> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">${jdbc.dialect}</prop> 
      <prop key="hibernate.show_sql">true</prop> 
     </props> 
    </property> 
</bean> 

EDIT:WEB-INF/classessにのみ見WebAppClassLoader問題がある 、。クラスローダーに外部ディレクトリも見せるように指示する方法はありますか?

答えて

0

外部ディレクトリをsetenv.batのclasspathに設定し、classpath:Person.hbm.xmlから「classpath」を削除しました。

0

既にプロパティプレースホルダ(${jdbc.dialect})を使用しているため、構成のどこかに<context:property-placeholder...>があると考えられます。 1つの方法は、そこにロードしているすべてのプロパティファイルにhbm.xmlへのフルパスを指定することです。あなたの春のコンフィグ

... 
<property name="mappingResources"> 
      <list> 
       <value>${hibernate.config}</value> 
      </list> 
</property> 

... 

EDITで

hibernate.config=/path/to/your/Person.hbm.xml 

:パスが正しくURLフォーマットする必要がある場合があります、すなわち、

file:///d:/some/dir/Person.hbm.xml 
+0

それは役に立ちません。私のEDITを見てください。返信いただきありがとうございます。 – Ram

+0

上記の私の編集を参照してください。 – pap

関連する問題