0

複数のパスから休止状態のマッピングをロードするときに問題が発生します。

私のSpringセッションファクトリは次のように定義されています:

<beans>
  ...
  <bean id="sessionFactory" class="org.springframwork.orm.hibernate3.LocalSessionFactory">
  </bean>

  <property name="mappingLocations">
    <list>
      <value>classpath:/mapping/*.hbm.xml</value>
    </list>
  </property>

マッピングFoo.hbm.xmlBar.hbm.xmlディレクトリsrc/main/resources/mappingsに配置すると、Hibernate の初期化時に両方のマッピングが検出されます。

しかしFoo.hbm.xml、ディレクトリとディレクトリsrc/main/resources/mappingBar.hbm.xml入れるとsrc/test/resources/mapping、後者のマッピング ファイルしか見つかりません。Hibernate は「Foo のマッピングが見つかりません」というエラーで失敗します。

target/classes/mappingマッピングがディレクトリとにコピーされていることがわかりますが、target/test-classes/mappingなぜ休止状態 (またはスプリング ローカル セッション ファクトリ Bean) が両方のマッピング ファイルを見つけられないのでしょうか? 「classpath:/mapping/*.hbm.xml」target/classes/mappingで とtarget/test-classes/mappingディレクトリの両方が見つかると思いましたか?

編集:単体テストを実行しているときにこの問題が発生しているため、両方でマッピングが見つかり、見つかると思いsrc/main/resourcesますsrc/test/resources

4

1 に答える 1