spring加载hibernate映射文件的几种方式
来源:互联网 发布:网络里认识了你歌曲 编辑:程序博客网 时间:2024/05/18 01:36
在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/classes/com/tickets/model/survey</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配置文件中的sessionfactory中,配置映射文件有好多种方法:
LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件:mappingResources、mappingLocations、mappingDirectoryLocations与mappingJarLocations。
他们的区别:
mappingResources:指定classpath下具体映射文件名
<property name="mappingResources">
<value>petclinic.hbm.xml</value>
</property>
mappingLocations:可以指定任何文件路径,并且可以指定前缀:classpath、file等
<property name="mappingLocations">
<value>/WEB-INF/petclinic.hbm.xml</value>
</property>
<property name="mappingLocations">
<value>classpath:/com/company/domain/petclinic.hbm.xml</value>
</property>
也可以用通配符指定,'*'指定一个文件(路径)名,'**'指定多个文件(路径)名,例如:
<property name="mappingLocations">
<value>classpath:/com/company/domain/**/maps/*.hbm.xml</value>
</property>
上面的配置是在com/company/domain包下任何maps路径下的hbm.xml文件都被加载为映射文件mappingDirectoryLocations:指定映射的文件路径
mappingJarLocations:指定加载的映射文件在jar文件中
当有mappingLocations存在时,mappingResources中对hibernate映射文件的配置是不加载的,因此,需要把映射文件配置都放到mappingLocations中
- spring加载hibernate映射文件的几种方式
- Spring加载Hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- spring加载hibernate映射文件的几种方式
- Spring加载Hibernate 映射的几种方式及区别
- Sping 学习笔记10——Spring+Hibernate 加载映射文件几种方式
- Spring加载Hibernate映射文件最佳方式
- LocalSessionFactoryBean加载Hibernate 映射的几种方式及区别
- 关于iOS7中UIView效果失效问题的解决
- PE格式详解
- 记录做题时的那些好题解的地址
- 利用闭包实现给按钮注册单击事件和键盘事件
- 易银波-O2O发展:开启便捷出行新纪元
- spring加载hibernate映射文件的几种方式
- GDB 程序调试简单实践
- Compass
- IE浏览器页面卡死问题
- 对于libc++abi.dylib: terminate_handler unexpectedly threw an exception 异常处理如何调试错误
- Linux下C语言多线程编程
- 安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)
- 优化Myeclipse10 Building Workspace速度慢等问题
- ServiceLoader跟DriverManager使用总结