注:
- 如果数据库中字段为Varchar2,要更改为CLOB。需要先将VARCHAR2更改为LONG,再更改为CLOB类型。
- 此时很有可能该表对应的主键的索引已经损坏,再次使用该表会出现:ORACLE-01502:state unusable
- 需要对该索引重建:ALTER INDEX XXX.XXX REBUILD
1、数据库驱动为10g的驱动,就可以像操作String一样操作CLOB了
HIBERNATE配置加一行:
<property name="hibernate.connection.SetBigStringTryClob">true</property>
HIBERNATE映射CLOB字段写为:
<property name="content" type="text">
<column name="CONTENT" />
</property>
相应的VO持久化类属性为String
2、数据库驱动为早前版本的驱动,可采用如下方法。
写操作:
try
{
hdao.beginTransaction();
hdao.save(resume);
hdao.getSession().flush();
hdao.getSession().refresh(resume,LockMode.UPGRADE);
SerializableClob slob = (SerializableClob)resume.getContent();
Clob wrapclob = slob.getWrappedClob();
CLOB clob = (CLOB)wrapclob;
Writer pw = clob.getCharacterOutputStream();
//content为要保存的内容
pw.write(content);
pw.close();
hdao.endTransaction();
return true;
}
catch(Exception e)
{
log.error("保存文件出错!);
log.error(e);
e.printStackTrace();
return false;
}
读操作:
Clob clob = resume.getContent();
String content = "";
if(clob!= null)
{
content = clob.getSubString(1, (int)clob.length());
}
分享到:
相关推荐
hibernate存取oracle的clob
在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB...通过以上配置和操作,你可以在Spring和Hibernate的环境中顺利地对Oracle数据库的CLOB字段进行读写,满足J2EE应用中的大数据存储需求。
在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对Oracle Clob在Hibernate中应用的详细总结: 3.1 传统的JDBC方式: 在没有使用ORM框架之前,我们通常...
本主题“hibernate动态映射表处理Oracle的CLOB类型”主要聚焦于如何在Hibernate中有效地管理和操作CLOB字段。在Oracle 10g中,CLOB数据类型的处理有时会遇到一些挑战,尤其是在与ORM框架结合使用时。以下将详细介绍...
- Clob:Clob是用于存储大量字符数据的类型,例如长篇文章、XML文档等。它以字符流的形式存储数据。 - Blob:Blob则是用于存储非结构化的二进制数据,如图片、音频文件或PDF文档,它以字节流的形式存储数据。 2. ...
综上所述,使用Hibernate和JDBC读取Oracle数据库中的Blob数据涉及多个步骤,包括实体类的设计、数据库操作和文件流的处理。理解这些知识点对于处理大对象存储至关重要。在实际项目中,根据需求和性能考虑,选择合适...
Hibernate存储Clob字段的方式总结涉及了在Java开发中使用Hibernate操作大型文本字段Clob的操作方法。本文主要介绍了两种操作Clob字段的方法,一种是将Clob字段直接映射为String类型,另一种是使用Clob类型进行处理。...
本文将详细介绍如何在Spring与Hibernate框架结合的情况下,有效地处理Oracle 10g数据库中的CLOB字段。 #### 一、环境配置 为了确保项目能够顺利运行,首先需要搭建好开发环境。本示例中使用的环境配置如下: 1. *...
同时,确保数据库支持高效的BLOB和CLOB操作,比如Oracle的BFILE类型或使用流式处理。 总之,Hibernate提供了对BLOB和CLOB的便利支持,允许开发者在Java应用中轻松地处理大数据对象,从而实现与数据库的高效交互。...
2. 配置Hibernate的JDBC连接,使用支持Clob和Blob高效操作的Oracle JDBC驱动。 3. 利用Hibernate提供的API进行增删改查操作,无需手动处理Clob和Blob的具体存储细节。 在实际开发中,了解并掌握这些知识点可以帮助...
在Oracle数据库中,Clob是用来存储可变长度的非结构化数据,如长篇文字、HTML文档等。在Java世界中,尤其是在持久化框架Hibernate中,处理Clob类型的数据需要特别的方法和配置。 在Hibernate中,Clob类型的字段通常...
总结,Hibernate通过`@Lob`注解支持BLOB和CLOB的持久化,开发者需要适当地将数据转换为对应的对象类型,然后使用Hibernate的CRUD操作进行保存和检索。同时,要注意性能优化,如懒加载和数据库特定的最佳实践。
在实际操作中,可以通过Hibernate实现Oracle数据库中BLOB数据的存储和删除操作,然后利用Struts2框架展示这些BLOB数据。这样的结合,不仅可以提高开发效率,还能保证应用的性能和稳定性。 ### 实际操作步骤 在实际...
3. Hibernate:Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库,而无需直接编写SQL语句。Hibernate通过XML配置文件或注解将Java实体类与数据库表进行映射,提供了强大的查询语言HQL...
在Java开发中,通常通过JDBC驱动与Oracle进行交互,或者利用Hibernate等ORM框架进行更高级别的操作。 这四个技术的结合,通常被称为“SSM”或“SSH”(Spring、SpringMVC、Hibernate的缩写,Oracle有时不被包含在内...
在本文中,我们将深入探讨如何在Java环境下,利用Spring和Hibernate框架处理Oracle数据库中的LOB(Large Object)字段。LOB字段通常用于存储大体积的数据,如文本、图片或视频。在实际开发中,处理这类数据时可能会...
在Java的数据库操作中,`CLOB...总之,无论是使用JDBC还是Hibernate,处理`CLOB`和`BLOB`字段都需要特殊的处理方式,尤其是在Oracle等数据库中。了解这些处理方法对于开发涉及大数据量文本和二进制数据的应用至关重要。