Hibernate+Oracle+CLOB的读写问题

我的环境是Oracle9i2+hibernate3
使用原配的Oracle jdbc thin 驱动不能直接对clob对象进行直接操作。
google了无数文章,仿造别人的办法,先写入一个空的clob对象,再读出,再写入真正的clob对象。不行,在BLOB blob =(BLOB) myObject.getClob 这里的类型强制转化就会出现问题。

使用hibernate官方论坛里面的重写一个数据类型的方式,则是出现String长度的错误。还试了很多种办法,均失败。

据说,Oracle 9i 里的jdbc oci驱动可以解决上面的问题,但我已经没有兴趣再去折腾了。

最后到Oracle网站上面注册了一个账户,下载了最新的Oracle 10g的jdbc驱动。
一切就正常了。其实就是Oracle原来的驱动的问题。

使用新的驱动,这个问题就不再是问题了。

Hibernate+Oracle+CLOB的读写其实只要这样做:

1.在Oracle里设置某字段为clob类型。
2.在Hibernate的配置文件里使用网上下载的Oracle 10g最新的jdbc驱动。
3.实体类里把clob字段对应的属性类型设置为String。
4.hibernate的映射文件*.hbm.xml里把该字段对应的类型该为text。

然后就可以在程序里把它当成String随便用了。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值