微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring配置hibernate映射文件

spring对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文件中(此方法可能不常用,暂无示例)

转载于:https://www.cnblogs.com/lishaofei/archive/2013/03/15/2961487.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。