LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件:
[list]
[*]mappingResources、
[*]mappingLocations、
[*]mappingDirectoryLocations
[*]mappingJarLocations
[/list]
他们的区别:
[b]mappingResources:[/b]指定classpath下[b]具体映射文件名[/b]
Java代码
或者利用list同时指定多个 映射文件
Xml代码
[b]mappingLocations:[/b]可以指定[b]任何文件路径,并且可以指定前缀[/b]:classpath、file等
Xml代码
[b]也可以用通配符指定,'*'指定一个文件(路径)名,'**'指定多个文件(路径)名[/b],例如:
Xml代码
上面的配置是在com/myporject/domain包下任何路径下的hbm.xml文件都被加载为映射文件
mappingDirectoryLocations:指定映射的文件路径
Xml代码
[b]mappingJarLocations:[/b]指定加载的映射文件在jar文件
[list]
[*]mappingResources、
[*]mappingLocations、
[*]mappingDirectoryLocations
[*]mappingJarLocations
[/list]
他们的区别:
[b]mappingResources:[/b]指定classpath下[b]具体映射文件名[/b]
Java代码
<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>
[b]mappingLocations:[/b]可以指定[b]任何文件路径,并且可以指定前缀[/b]:classpath、file等
Xml代码
<property name="mappingLocations" value="/WEB-INF/usetTest.hbm.xml"/>
<property name="mappingLocations" value="classpath:com/myproject/domain/userTest.hbm.xml"/>
[b]也可以用通配符指定,'*'指定一个文件(路径)名,'**'指定多个文件(路径)名[/b],例如:
Xml代码
<property name="mappingLocations" value="classpath:com/myproject/domain/**/*.hbm.xml"/>
[b]mappingResources:[/b]
<!-- 用通配符解决mappingResources的繁琐配置 -->
<property name="mappingLocations">
<list>
<value>classpath*:com/yb/vo/*.hbm.xml</value>
<value>classpath*:org/fireflow/engine/persistence/hibernate/*.hbm.xml</value>
</list>
</property>
上面的配置是在com/myporject/domain包下任何路径下的hbm.xml文件都被加载为映射文件
mappingDirectoryLocations:指定映射的文件路径
Xml代码
<property name="mappingDirectoryLocations">
<list>
<value>/WEB-INF/classes/com/hjy/model/survey</value>
</list>
</property>
[b]mappingJarLocations:[/b]指定加载的映射文件在jar文件