Hibernate+JDBC操作Clob时发生ClassCastException:$Proxy58
使用System.out.println(blob.getClass().getName())输出信息的时候,显示的是$Proxy58
从Hibernate源码可以看出,
<!-- Generated by javadoc (build 1.4.2_11) on Sun Oct 15 22:02:43 CDT 2006 -->
public class SerializableClob
extends Object
implements Serializable,
Clob
由Hibernate返回的Clob对象实际上是代理类SerializableClobProxy的实例,提供了java.sql.Clob接口定义的方法(实际上是通过反射的方式),表现得像是个实现java.sql.Clob接口的对象(貌似),但实际上是个Proxy类型的实例,因此不能把这个实例转化成oracle.sql.CLOB类型。需先转化为SerializableClobProxy类型,再转化为Clob类型,即:
SerializableClobProxy proxy = (SerializableClobProxy )Proxy.getInvocationHandler(clob);
oracle.sql.CLOB realClob = (CLOB) proxy.getWrappedClob();
分享到:
相关推荐
hibernate存取oracle的clob
使用Hibernate映射Blob,Clob字段,并对这些字段完成存,取功能
主要是整合了jdbc处理clob类型的增删改查方法,有需要的同学可以看下
JDBC方式操作CLOB字段实例代码 。
J2EE开发中,经常会遇到存储大文本的文字信息,而oracle数据库的vachar字段最大能存储4000个字节,存储更大的信息必须使用clob或blob字段,本文档就是针对j2ee开发中对colb字段操作的实现。
oracle中使用jdbc读写clob字段,很多细节介绍,内容全面。
JDBC读写Oracle的CLOB字段
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等...
解决weblogic在使用数据源 向数据库的clob类型字段写入内容的问题
是我自己验证过的 用的是oracle10数据库 文件里面有具体的配置。
Hibernate对BLOB CLOB操作,详细的操作说明
weblogic下转换oracle 的clob类型经常报转型错误,本例子通过反射解决weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB转型成oracle.sql.CLOB问题
JDBC中操作Blob、Clob等对象
NULL 博文链接:https://sxpujs.iteye.com/blog/368960
介绍了利用Hibernate将一个长字符串转换为流存储至Clob字段中,然后再从Clob字段中读出来,转换为字符串输出的方式
NULL 博文链接:https://sjsky.iteye.com/blog/1154916
hibernate Blob、Clob字段的映射的例子.数据库mysql,数据库放在文件夹里面,例子的说明文章在我的csdn blog: http://blog.csdn.net/zhengcandan