LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件:mappingResources、mappingLocations、mappingDirectoryLocations与mappingJarLocations他们的区别:mappingResources:指定classpath下具体映射文件名
Java代码 <property name="mappingResources" value=“userTest.hbm.xml”/> <property name="mappingResources" value=“userTest.hbm.xml”/>或者利用list同时指定多个 映射文件
Xml代码 <property name="mappingResources"> <list> <value>cn/com/env/DAO/tusers/Tusers.hbm.xml</value> <value>cn/com/env/DAO/projectNeed/Tprojectneed.hbm.xml</value> <value>cn/com/env/DAO/projectNeedA/Tprojectneeda.hbm.xml</value> </list> </property> <property name="mappingResources"> <list> <value>cn/com/env/DAO/tusers/Tusers.hbm.xml</value> <value>cn/com/env/DAO/projectNeed/Tprojectneed.hbm.xml</value> <value>cn/com/env/DAO/projectNeedA/Tprojectneeda.hbm.xml</value> </list> </property>mappingLocations:可以指定任何文件路径,并且可以指定前缀:classpath、file等
Xml代码 <property name="mappingLocations" value="/WEB-INF/usetTest.hbm.xml"/> <property name="mappingLocations" value="classpath:com/myproject/domain/userTest.hbm.xml"/> <property name="mappingLocations" value="/WEB-INF/usetTest.hbm.xml"/> <property name="mappingLocations" value="classpath:com/myproject/domain/userTest.hbm.xml"/>也可以用通配符指定,'*'指定一个文件(路径)名,'**'指定多个文件(路径)名,例如:
Xml代码 <property name="mappingLocations" value="classpath:com/myproject/domain/**/*.hbm.xml"/> <property name="mappingLocations" value="classpath:com/myproject/domain/**/*.hbm.xml"/>上面的配置是在com/myporject/domain包下任何路径下的hbm.xml文件都被加载为映射文件mappingDirectoryLocations:指定映射的文件路径
Xml代码 <property name="mappingDirectoryLocations"> <list> <value>/WEB-INF/classes/com/hjy/model/survey</value> </list> </property> <property name="mappingDirectoryLocations"> <list> <value>/WEB-INF/classes/com/hjy/model/survey</value> </list> </property>mappingJarLocations:指定加载的映射文件在jar文件
本文转自:http://hlbng.javaeye.com/blog/397266
