<!-- 這里一定要注意是使用spring的mappingLocations屬性進行通配的 -->
<property name="mappingLocations">
<list>
<value>classpath:/com/model/domain/*.hbm.xml</value>
</list>
</property>
----------------------------------------------------------------------------------------------------------------------------------(割割更健康)
spring整合hibernate配置文件中的sessionfactory中,配置映射文件有好多種方法:
LocalSessionFactoryBean有好幾個屬性用來查找hibernate映射文件:mappingResources、mappingLocations、mappingDirectoryLocations與mappingJarLocations。
他們的區別:
mappingResources:指定classpath下具體映射文件名
<property name="mappingResources">
<value>petclinic.hbm.xml</value>
</property>
mappingLocations:可以指定任何文件路徑,並且可以指定前綴:classpath、file等
<property name="mappingLocations">
<value>/WEB-INF/petclinic.hbm.xml</value>
</property>
<property name="mappingLocations">
<value>classpath:com/company/domain/petclinic.hbm.xml</value>
</property>
也可以用通配符指定,'*'指定一個文件(路徑)名,'**'指定多個文件(路徑)名,例如:
<property name="mappingLocations">
<value>classpath:com/company/domain/**/maps/*.hbm.xml</value>
</property>
上面的配置是在com/company/domain包下任何maps路徑下的hbm.xml文件都被加載為映射文件mappingDirectoryLocations:指定映射的文件路徑
mappingJarLocations:指定加載的映射文件在jar文件中
注意:當有mappingLocations存在時,mappingResources中對hibernate映射文件的配置是不加載的,因此,需要把映射文件配置都放到mappingLocations中