Spring+Hibernate处理Oracle lob字段(一)

最近需要在项目中使用lob字段,所使用的数据库是Oracle 9i,spring applicationContext.xml配置如下:

<bean id="nativeJdbcExtractor"
		 class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" 
lazy-init="true"/>
	
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" 
lazy-init="true">
	<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>
</bean>
 

在sessionFactory配置中加入如下属性:

<property name="lobHandler" ref="lobHandler"/>

 

在hibernate.hbm.xml中,对于clob字段使用org.springframework.orm.hibernate3.support.ClobStringType,对于blob字段使用org.springframework.orm.hibernate3.support.BlobByteArrayType。

以上配置后,需要对处理lob字段的方法加上事务,使用spring声明式事务即可。

这也是网上介绍最多的方法,但是一开始按照这么做抛出了异常,反复调试不果,最近升级了一下Oracle9i的驱动,问题得以解决。原来不成功的原因是驱动程序版本较低,原来使用的版本是9.2.0.1.0自带的JDBC驱动,现在升级到新的Oracle9i 9.2.0.8 JDBC Drivers,终于可以正确的操作lob字段(可运行的驱动见附件)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值