zoukankan      html  css  js  c++  java
  • spring加载hibernate映射文件的几种方式

    1.

    在Spring的applicationContext.xml中配置映射文件,通常是在<sessionFactory>这个Bean实例中进行的,若配置的映射文件较少时,可以用sessionFactory的所属类LocalSessionFactoryBean的“mappingResources”属性,方式包括(mappingResources,mappingLocations、mappingDirectoryLocations与mappingJarLocations )定义方法如下:

     第一种:

    <property name="mappingResources">

        <list>

        <value>com/w3cs/vlar/hibernate/Person.hbm.xml</value>

        <value>com/w3cs/vlar/hibernate/Car.hbm.xml</value>

        <value>com/w3cs/vlar/hibernate/Engine.hbm.xml</value>

        <value>com/w3cs/vlar/hibernate/Toy.hbm.xml</value>

        </list>

    </property>

    当配置文件变得越来越多,阅读和修改起来也越来越麻烦,而且基于XML的配置也可能带来输入的错误,导致你可能因为一个字符的错误而浪费半天时间去寻找错误。

     第二种:

    在这种情况下,可以使用LocalSessionFactoryBean的“mappingDirectoryLocations”属性来定义映射文件,只要指出映射文件所在文件夹就可以了,Spring会替你找出该文件夹内所有的映射文件,定义方法如下:

    <property name="mappingDirectoryLocations">

        <list>

           <value>WEB-INF/mappings</value>

        </list>

    </property>

    第三种:

    当然,它的属性值也可以通过classpath来指出,这时所指定的是工程的类路径

    <property name="mappingDirectoryLocations">

         <list>

             <value>classpath:/my/package/*.hbm.xml</value>

         </list>

    </property>

    第四种:

    <!-- 增加了对大对象字段处理配置Begin -->
     <bean id ="oracleLobHandler" 
          class ="org.springframework.jdbc.support.lob.OracleLobHandler" 
          lazy-init ="true" >  
          <property  name ="nativeJdbcExtractor"  ref ="nativeJdbcExtractor" />
      </bean>    
     
      <bean id ="nativeJdbcExtractor"  class ="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
          lazy-init ="true"/>
         <!-- 增加了对大对象字段处理配置End -->

    <!--  定义Hibernatte框架中需要的SesscionFactory对象//-->
     <bean id="sessionFactory"
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <property name="dataSource" ref="dataSource" />
      <!--增加了对大对象字段处理配置Begin -->
      <property name ="lobHandler" ref ="oracleLobHandler"/>
      <!--增加了对大对象字段处理配置End -->
      <property name="mappingDirectoryLocations">
           <list>
             <value>classpath:/my/package/login/dao/pojo/</value>
             <value>classpath:/my/package/jpf/dao/pojo/</value>
             ......

           </list>
      </property>

  • 相关阅读:
    【幻化万千戏红尘】qianfengDay03-java基础学习:for循环,switch,if
    Hexo | 博客文章链接优化之abbrlink
    Hexo 集成 Gitalk 评论系统
    Linux对一个目录及其子目录所有文件添加权限
    PhpStorm配置使用phpunit单元测试
    php根据当前定位经纬度排序
    mysql根据当前定位经纬度排序
    linux压缩和解压缩命令
    PHP常见数学函数及BC高精度数学函数用法示例
    vagrant package 打包自己的box镜像
  • 原文地址:https://www.cnblogs.com/sharpest/p/6220898.html
Copyright © 2011-2022 走看看