您的位置:首页 > 编程语言 > Java开发

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

2013-06-22 15:05 519 查看
spring 使用classpath方式加载hibernate映射文件
对应的Spring的版本:spring3.0
<!-- 批量指定到classpath下面 -->
		<property name="mappingLocations">
			<list>
				<value>classpath:com/alpha/bean/*.hbm.xml</value>
			</list>
		</property>


下面是搜集的其他的方法加载映射文件,仅供参考,如有错误欢迎指正:
在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="mappingLocations">
     <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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: