在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>

spring加载hibernate映射文件的几种方式。转自:http://blog.csdn.net/huiwenjie168/article/details/7013618的更多相关文章

  1. spring加载hibernate映射文件的几种方式 (转)

    在Spring的applicationContext.xml中配置映射文件,通常是在<sessionFactory>这个 Bean实例中进行的,若配置的映射文件较少时,可以用session ...

  2. spring加载hibernate映射文件的几种方式

    1. 在Spring的applicationContext.xml中配置映射文件,通常是在<sessionFactory>这个Bean实例中进行的,若配置的映射文件较少时,可以用sessi ...

  3. SpringMVC加载配置Properties文件的几种方式

    最近开发的项目使用了SpringMVC的框架,用下来感觉SpringMVC的代码实现的非常优雅,功能也非常强大, 网上介绍Controller参数绑定.URL映射的文章都很多了,写这篇博客主要总结一下 ...

  4. Spring加载Hibernate 映射的几种方式及区别

    LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件: mappingResources.mappingLocations.mappingDirectoryLo ...

  5. Spring集成Hibernate映射文件的4种方式

    概要: 在Spring的applicationContext.xml中集成Hibernate映射文件,通常是在<sessionFactory>这个Bean实例中进行的,若配置的映射文件较少 ...

  6. Hibernate:**not found while looking for property: id https://blog.csdn.net/weixin_43827144/article/details/88935334

    https://blog.csdn.net/weixin_43827144/article/details/88935334 在程序执行时可能会报找不到属性的错误:例如:class Student n ...

  7. 文件映射spring 使用classpath方式加载hibernate映射文件

    在改章节中,我们主要介绍文件映射的内容,自我感觉有个不错的建议和大家分享下 <!-- 批量指定到classpath下面 --> <property name="mappin ...

  8. spring引用hibernate映射文件的四种方式

    1.mappingResources 2.mappingLocations 3.mappingDirectoryLocations 4.mappingJarLocations 四种方式:https:/ ...

  9. 解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 以及MyBatis批量加载xml映射文件的方式

    错误 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 的出现,意味着项目需要xml文件来 ...

随机推荐

  1. Android4.0 添加一个新的Android 键值

    这里添加新的键值,不是毫无凭据凭空创造的一个键值,而是根据kernel中检测到的按键值,然后转化为Android所需要的数值: 以添加一个Linux键值为217,把它映射为android的键值Brow ...

  2. Python写一个Windows下的android设备截图工具

    界面版 利用python的wx库写个ui界面,用来把android设备的截图输出到电脑屏幕,前提需要安装adb,涉及到的python库也要安装.代码如下: import wx,subprocess,o ...

  3. jira 6.3.6安装-汉化-破解

    jira是是一个国外的项目管理软件,收费的,至于功能什么的这里就不具体说了,大家可以网上查看有很多描述的 首先你要在JIRA官网注册一个账户,可以有30天的试用期,网上很多教程是让你去网上搜一个密钥, ...

  4. https 单向认证和双向认证配置

    HTTPS 是我们开发中经常用到的通信加密技术,能有效保护我们网络访问中的安全,本文主要讲解单向 和 双向 https 的配置.关于https 的实现原理在这里我就不赘述了,附上阮一峰老师的关于htt ...

  5. Unbuntu下使用SVN

    一.查看SVN版本 svn --version 二.查看SVN仓库 # 查看被svn仓库占用的所有端口 netstat -anp |grep svn # 查看所有端口对应的仓库 ps -ef | gr ...

  6. switch case

    Console.WriteLine("1土豆"); Console.WriteLine("2玉米"); Console.WriteLine("3小麦& ...

  7. CSS3简单的小技巧:linear-gradient切角画册

    关于linear-gradient的语法就不多做介绍了网上到处都是,下面看个小例 我们先做一个渐变,使其让他旋转, <div class="example"> < ...

  8. 广播Broadcast Receiver

    广播的类型: 1.标准广播(Normal broadcat) 完全异步执行的广播,所有广播接收器同一时间接收广播消息. 效率高,但无法被截断. 2.有序广播 同步执行的广播,同一时刻只能有一个广播接收 ...

  9. java模式-工厂模式

    今天在学习工厂模式,从最简单的简单工厂模式开始. 我们现在需要通过工厂Factory生产A,B两款产品(都是产品,实现了接口Product). 产品A: public class A implemen ...

  10. Oracle(控制用户权限)

    权限允许用户访问属于其它用户的对象或执行程序, ORACLE系统提供权限:Object 对象级.System 系统级 查看权限的数据字典: 字典名 含义 ROLE_SYS_PRIVS System p ...