我在從多個路徑加載hibernate映射時遇到問題。春季會議工廠沒有找到具有相同類路徑的多個目錄中的映射文件
我的春季會議廠是定義如下:
<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.xml
和Bar.hbm.xml
進入目錄src/main/resources/mappings
,那麼當Hibernate被初始化都映射發現。
但是,當我將Foo.hbm.xml
放入目錄src/main/resources/mapping
和Bar.hbm.xml
到目錄src/test/resources/mapping
時,則只能找到後一個映射文件。 Hibernate將因「無法找到Foo映射」錯誤而失敗。
我可以看到映射被複制到目錄target/classes/mapping
和target/test-classes/mapping
,爲什麼hibernate(或者spring本地會話工廠bean)找不到兩個映射文件?我認爲「classpath:/ mapping/*。hbm.xml」會找到target/classes/mapping
和target/test-classes/mapping
目錄嗎?
編輯:我在運行單元測試時遇到了這個問題,所以我期望找到在src/main/resources
和src/test/resources
中找到的映射。
感謝您的回覆。我應該說我在運行測試時遇到了這個問題,因此除了在主資源目錄中定義的映射外,我還希望能夠找到在測試資源目錄中定義的映射。當我使用'src/main/resources'中的所有映射運行測試時,找到所有映射。當我使用從src/main/resources到src/test/resources的一個映射運行測試時,只能找到在src/test/resources中找到的映射。 –