oracle 11g r2 blob类型getString报错问题

摘要: 问题: 在hibernate中实体类中blob类型字段为 private String textBlob; 查询时报错: java.sql.SQLException: 无效的列类型: getString not implemented for class oracle.jdbc.driver.T4CBlobAccessor at oracle.jdbc.driver.Access

问题:
在hibernate中实体类中blob类型字段为
private String textBlob;

查询时报错:
java.sql.SQLException: 无效的列类型: getString not implemented for class oracle.jdbc.driver.T4CBlobAccessor
at oracle.jdbc.driver.Accessor.unimpl(Accessor.java:412)

数据库版本 :oracle 11g r2

原因: oracle 11g r2不再支持blob 的getString方法

Oracle JDBC Driver 11g Release 2 (11.2) no longer supports getString method for retrieving BLOB column values

解决方法:

Do not use "select *" and select only none-blob type columns in the select statement.
(OR)
Downgrade Oracle client to 11g R1

其实只要用byte[]映射blob类型即可
private byte[] textBlob;

参考文章
http://www-01.ibm.com/support/docview.wss?uid=swg21596361

转载于:https://www.cnblogs.com/zt007/p/10738605.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值