我在 src/main/resources maven 文件夹的类路径资源中有一些 hbm.xml 文件。我使用 spring 的 LocalSessionFactoryBean 通过以下 bean 配置加载这些文件:
<bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSourceOracle"/>
<property name="mappingResources">
<list>
<value>mapping/SystemUser.hbm.xml</value>
<value>mapping/SystemCredential.hbm.xml</value>
<value>mapping/SystemProvince.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
</value>
</property>
</bean>
但它给了我 FileNotFoundException。请告诉我我做错了什么 谢谢。
最佳答案
在war
类型的项目中使用 Maven 时,位于 src/main/resources
中的文件最终位于 WEB-INF/classes
中( resources
目录结构被保留)。因此,要么将映射文件放在 src/main/resources/mapping
中,要么使用以下配置:
<bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSourceOracle"/>
<property name="mappingResources">
<list>
<value>SystemUser.hbm.xml</value>
<value>SystemCredential.hbm.xml</value>
<value>SystemProvince.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
</value>
</property>
</bean>
关于java - spring - 从类路径资源 hibernate 加载 *.hbm.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1947720/