Welcome 微信登录

首页 / 软件开发 / JAVA / spring中如何配置hibernate映射文件

spring中如何配置hibernate映射文件2015-02-06spring对hibernate配置文件(hibernate.cfg.xml)的集成相当好,常用spring的org.springframework.orm.hibernate.LocalSessionFactoryBean来取代hibernate.cfg.xml文件的功能。LocalSessionFactoryBean有几种属性用来查找hibernate映射文件,以下做简单使用介绍。

它们的区别

mappingResources:指定classpath下具体映射文件名

<property name="mappingResources"><list><value>XXX.hbm.xml </value><value>XXX.hbm.xml </value><value>... </value></list></property>

有多少hbm文件就要一一指定,比较繁琐,而且不易维护,有时在添加了新的class后会遗忘这里配置上相应的hbm。

mappingLocations:可以指定任何文件路径(包括映射文件的文件名)

file:

<property name="mappingLocations"><list><!-- file --><value>/WEB-INF/petclinic.hbm.xml </value><value>/WEB-INF/... </value></list></property>
classpath:

<property name="mappingLocations"><list><!-- classpath --><value>classpath:/com/company/domain/petclinic.hbm.xml </value><value>classpath:...</value></list></property>
也可以用通配符指定,"*"指定一个文件(路径)名,"**"指定多个文件(路径)名:

<property name="mappingLocations">

<value>classpath:/com/company/domain/*maps/*.hbm.xml </value>

</property>

上面的配置是在com/company/domain包下任何maps路径下的hbm.xml文件都被加载为映射文件。

mappingDirectoryLocations:指定映射的文件路径(只是映射文件所在的目录)

file:

<property name="mappingDirectoryLocations">

<!-- file -->

<value>/WEB-INF/mymappingpath</value>

</property>

classpath:

<property name="mappingDirectoryLocations">

<!-- classpath -->

<value>classpath:/package/hbm</value>

</property>

mappingJarLocations:指定加载的映射文件在jar文件中(此方法可能不常用,暂无示例)