Spring加载Hibernate映射的几种方式及区别
spring要加载对象的映射是通过LocalSessionFactoryBean来实现的,LocalSessionFactoryBean是有好几个属性用来查找hibernate映射文件的:
分别是mappingResources、mappingLocations、mappingDirectoryLocations与mappingJarLocations
1.mappingResources:指定classpath下具体映射文件名 eg: xml代码 <property name="mappingResources" value=“userTest.hbm.xml”/>
或者利用list同时指定多个 映射文件
<property name="mappingResources">
< list>
< value>cn/com/env/DAO/tickets/Tusers.hbm.xml</value>
< value>cn/com/env/DAO/tickets/Tprojectneed.hbm.xml</value>
< /list>
< /property>
2.mappingLocations:可以指定任何文件路径,并且可以指定前缀:classpath、file等
eg: xml
<property name="mappingLocations" value="/WEB-INF/usetTest.hbm.xml"/>
< property name="mappingLocations" value="classpath:com/myproject/tickets/userTest.hbm.xml"/>
也可以用通配符指定,'*'指定一个文件(路径)名,'**'指定多个文件(路径)名
eg: xml代码
<property name="mappingLocations" value="classpath:com/myproject/domain*.hbm.xml"/>
3.mappingDirectoryLocations:指定映射的文件路径
eg: xml代码
<property name="mappingDirectoryLocations">
< list>
< value>/WEB-INF/classes/com/tickets/model/survey</value>
< /list>
< /property>
4.mappingJarLocations:指定加载的映射文件在jar文件
eg: xml代码
<property name="mappingJarLocations">
<list merge="default">
<value>\WEB-INF\lib\xxx-entity.jar</value>
</list>
</property>