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();
分享到:
相关推荐
Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和注意事项: 1. **配置SessionFactory** 在Spring配置文件中,你需要创建一个`SessionFactory` bean,同时指定一个`...
6. **使用JDBC API替代JPA/ORM**:如果使用了JPA或Hibernate等ORM框架,尝试使用原生的JDBC API进行CLOB操作,有时ORM的封装层可能会隐藏一些底层的类型转换问题。 通过以上步骤,一般可以定位并解决WebLogic中CLOB...
hibernate存取oracle的clob
本主题主要探讨如何使用JDBC有效地操作Oracle数据库中的CLOB类型字段,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)等操作。 首先,我们需要理解CLOB的基本概念。CLOB是一种数据库对象,...
JDBC方式操作CLOB字段实例代码 。
其中,`hibernate.jdbc.batch_size`设置为0表示禁用批处理,这对于处理CLOB字段尤为重要,因为批处理可能会导致CLOB数据被截断。 #### 三、Hibernate HBM文件配置 在Hibernate映射文件(HBM文件)中,也需要正确...
Hibernate存储Clob字段的方式总结涉及了在Java开发中使用Hibernate操作大型文本字段Clob的操作方法。本文主要介绍了两种操作Clob字段的方法,一种是将Clob字段直接映射为String类型,另一种是使用Clob类型进行处理。...
总结,Hibernate通过`@Lob`注解支持BLOB和CLOB的持久化,开发者需要适当地将数据转换为对应的对象类型,然后使用Hibernate的CRUD操作进行保存和检索。同时,要注意性能优化,如懒加载和数据库特定的最佳实践。
JDBC读写Oracle的CLOB字段
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
总之,理解并熟练掌握Hibernate对Oracle中的Clob和Blob字段的操作,是Java开发人员在处理大数据时必不可少的技能,这有助于确保数据的正确存储和高效访问。通过阅读和分析提供的源码,我们可以更深入地理解其底层...
2. 配置Hibernate的JDBC连接,使用支持Clob和Blob高效操作的Oracle JDBC驱动。 3. 利用Hibernate提供的API进行增删改查操作,无需手动处理Clob和Blob的具体存储细节。 在实际开发中,了解并掌握这些知识点可以帮助...
在Java的持久化框架Hibernate中,BLOB(Binary Large Object)和CLOB(Character Large ...在处理BLOB时,需要特别注意内存管理和文件I/O操作的效率,而对于CLOB,通常以字符串形式处理,避免不必要的转换和格式问题。
这是因为 WebLogic 服务器为了更好地管理和操作数据库连接,会使用自己的包装类 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 来表示 CLOB 类型的数据,而不是直接使用 Oracle 提供的标准 `oracle.sql.CLOB` 类。...
本文将详细介绍如何在Hibernate中操作Blob和Clob字段,实现数据的存储与读取。 首先,我们需要在Hibernate映射文件(.hbm.xml)中定义Blob和Clob字段。对于Blob,可以这样声明: ```xml ``` 这里的`name`属性...
在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对Oracle Clob在Hibernate中应用的详细总结: 3.1 传统的JDBC方式: 在没有使用ORM框架之前,我们通常...