hibernate oracle blob,hibernate对oracle数据库CLOB、blob类型字段处理原则

在hibernate中对oracle的clob和blob字段的处理采用光标的方式来处理,其中隐含的深层含义是:对该类型字段的存取,hibernate维护了一个关联该字段的数据库的连接A,该连接和session的连接有可能不是同一个,因此问题就出来了,在session中缓存的具有该字段的对象,如果上述的连接A断开,那么该字段的获取将报错。如下: java.sql.SQLException: Must be logged on to server

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)        at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)        atoracle.jdbc.ttc7.TTC7Protocol.assertLoggedIn(TTC7Protocol.java:2296)        atoracle.jdbc.ttc7.TTC7Protocol.freeTemporaryLob(TTC7Protocol.java:3351)        atoracle.sql.LobDBAccessImpl.freeTemporary(LobDBAccessImpl.java:774)        at oracle.sql.CLOB.freeTemporary(CLOB.java:1085)        at oracle.sql.CLOB.freeTemporary(CLOB.java:1036) 上边时clob字段的出错信息,blob字段类似。解决办法:对象在session中进行reload操作,即session.refresh(Object o)操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值