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

来源:互联网 发布:mac格式化u盘为f32 编辑:程序博客网 时间:2024/06/03 17:06
转载自:http://blog.csdn.net/javaalpha/article/details/9150869
spring 使用classpath方式加载hibernate映射文件
对应的Spring的版本:spring3.0
[html] view plaincopy
  1. <!-- 批量指定到classpath下面 -->  
  2.         <property name="mappingLocations">  
  3.             <list>  
  4.                 <value>classpath:com/alpha/bean/*.hbm.xml</value>  
  5.             </list>  
  6.         </property>  

下面是搜集的其他的方法加载映射文件,仅供参考,如有错误欢迎指正:
[html] view plaincopy
  1. 在Spring的applicationContext.xml中配置映射文件,通常是在<sessionFactory>这个Bean实例中进行的,若配置的映射文件较少时,可以用sessionFactory的所属类LocalSessionFactoryBean的“mappingResources”属性,方式包括(mappingResources,mappingLocations、mappingDirectoryLocations与mappingJarLocations )定义方法如下:  
  2.  第一种:  
  3. <property name="mappingResources">  
  4.     <list>  
  5.     <value>com/w3cs/vlar/hibernate/Person.hbm.xml</value>  
  6.     <value>com/w3cs/vlar/hibernate/Car.hbm.xml</value>  
  7.     <value>com/w3cs/vlar/hibernate/Engine.hbm.xml</value>  
  8.     <value>com/w3cs/vlar/hibernate/Toy.hbm.xml</value>  
  9.     </list>  
  10. </property>  
  11. 当配置文件变得越来越多,阅读和修改起来也越来越麻烦,而且基于XML的配置也可能带来输入的错误,导致你可能因为一个字符的错误而浪费半天时间去寻找错误。  
  12.  第二种:  
  13. 在这种情况下,可以使用LocalSessionFactoryBean的“mappingDirectoryLocations”属性来定义映射文件,只要指出映射文件所在文件夹就可以了,Spring会替你找出该文件夹内所有的映射文件,定义方法如下:  
  14. <property name="mappingDirectoryLocations">  
  15.     <list>  
  16.        <value>WEB-INF/mappings</value>  
  17.     </list>  
  18. </property>  
  19. 第三种:  
  20. 当然,它的属性值也可以通过classpath来指出,这时所指定的是工程的类路径  
  21. <property name="<span style="font-family: Arial, Helvetica, sans-serif;">mappingLocations</span>">  
  22.      <list>  
  23.          <value>classpath:/my/package/*.hbm.xml</value>  
  24.      </list>  
  25. </property>  
  26. 第四种:  
  27. <!-- 增加了对大对象字段处理配置Begin -->  
  28.  <bean id ="oracleLobHandler"    
  29.       class ="org.springframework.jdbc.support.lob.OracleLobHandler"    
  30.       lazy-init ="true" >     
  31.       <property  name ="nativeJdbcExtractor"  ref ="nativeJdbcExtractor" />   
  32.   </bean>       
  33.    
  34.   <bean id ="nativeJdbcExtractor"  class ="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"   
  35.       lazy-init ="true"/>  
  36.      <!-- 增加了对大对象字段处理配置End -->  
  37. <!--  定义Hibernatte框架中需要的SesscionFactory对象//-->  
  38.  <bean id="sessionFactory"  
  39.   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  40.   <property name="dataSource" ref="dataSource" />  
  41.   <!--增加了对大对象字段处理配置Begin -->  
  42.   <property name ="lobHandler" ref ="oracleLobHandler"/>  
  43.   <!--增加了对大对象字段处理配置End -->  
  44.   <property name="mappingDirectoryLocations">  
  45.        <list>  
  46.          <value>classpath:/my/package/login/dao/pojo/</value>  
  47.          <value>classpath:/my/package/jpf/dao/pojo/</value>  
  48.          ......  
  49.        </list>  
  50.   </property> 
0 0
原创粉丝点击