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

 我来答
默默076uWw
2012-11-18 · TA获得超过116个赞
知道答主
回答量:179
采纳率:100%
帮助的人:143万
展开全部
在Spring的applicationContext.xml中配置映射文件,通常是在<sessionFactory这个Bean实例中进行的,若配置的映射文件较少时,可以用sessionFactory的所属类LocalSessionFactoryBean的“mappingResources”属性,方式包括(mappingResources,mappingLocations、mappingDirectoryLocations与mappingJarLocations )定义方法如下:第一种:<property name=mappingResources<list<valuecom/w3cs/vlar/hibernate/Person.hbm.xml</value
<valuecom/w3cs/vlar/hibernate/Car.hbm.xml</value
<valuecom/w3cs/vlar/hibernate/Engine.hbm.xml</value
<valuecom/w3cs/vlar/hibernate/Toy.hbm.xml</value</list</property
当配置文件变得越来越多,阅读和修改起来也越来越麻烦,而且基于XML的配置也可能带来输入的错误,导致你可能因为一个字符的错误而浪费半天时间去寻找错误。
第二种:在这种情况下,可以使用LocalSessionFactoryBean的“mappingDirectoryLocations”属性来定义映射文件,只要指出映射文件所在文件夹就可以了,Spring会替你找出该文件夹内所有的映射文件,定义方法如下:
<property name=mappingDirectoryLocations<list<valueWEB-INF/mappings</value</list</property第三种:当然,它的属性值也可以通过classpath来指出,这时所指定的是工程的类路径
<property name=mappingDirectoryLocations<list<valueclasspath:/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
<valueclasspath:/my/package/login/dao/pojo/</value
<valueclasspath:/my/package/jpf/dao/pojo/</value
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式