开发环境:
windowsXP sp3
jdk1.5
tomcat 6.0
myeclipse 6.5
oracle9i 9.2.0.1
使用的框架:struts1.2,spring2.0,hibernate3
问题:如何存取oracle表的clob字段
折腾了2天,问题总算暂时解决,分享经历与大家交流。
例子:
新闻表(id,标题,内容)
tbl_news
(id varchar2(32),
title varchar2(90),
content clob)
[size=small;]办法1:
[/size]
实体类以及hbm文件中content的类型都设置为java.sql.Clob
spring配置hibernate的xml中,添加以下内容
[code="xml"]
在struts的action中使用以下方式保存tbl_news
[code="java"]...
private NewsManager newsManager;
public void setNewsManager(NewsManager newsManager){
this.newsManager = newsManager;
}
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request,HttpServletResponse response){
LazyValidatorForm lvForm = (LazyValidatorForm) form;
...
tblNews.setNews(Hibernate.createClob((String) lvForm.get("content")));
...
newsManager.save(tblNews)
}
使用以下方式读取
[code="java"]...
tblNews.getContent().subString(1,(int)tblNews.getContent().length)
...
这样的方式,增删改查都没有问题,不过在修改或添加数据时,当content列的内容稍大到大约2000长度时会提示错误,看到网络上的解决办法为
将content首先置空,使用session的save()及flush()方法提交至数据库,接着使用refresh()对象,将实际内容再添加至数据库,不过这种方式我始终没有实现,有待继续研究,如果得到解决过同样问题的朋友指点迷津,将不胜感激。
[size=small;]接着看我的第二种办法:
[/size]
[size=small;]
[/size]
使用spring提供的数据类型ClobStringType
具体办法,tbl_news实体中的content属性使用String类型,hbm文件的type设定为"org.springframework.orm.hibernate3.support.ClobStringType"
数据库连接使用oci驱动,第一种办法中数据库的连接驱动为thin。
在jsp页面以及action中使用String来操作content字段没有任何问题,也不存在数据过大时出现错误。
分享到:
相关推荐
在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB...通过以上配置和操作,你可以在Spring和Hibernate的环境中顺利地对Oracle数据库的CLOB字段进行读写,满足J2EE应用中的大数据存储需求。
hibernate存取oracle的clob
例如,在Oracle 9i中,可以尝试使用自定义类型`org.springframework.orm.hibernate3.support.ClobStringType`。 #### 四、总结 通过以上步骤,我们可以成功地在Spring与Hibernate框架中处理Oracle 10g数据库中的...
JDBC读写Oracle的CLOB字段
### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...
Java 中操作 Oracle 的 CLOB 字段精解 Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)...
这个压缩包文件"spring1.2+hibernate3对大字段的处理实例"提供了一个具体的案例,演示了如何在Spring 1.2和Hibernate 3框架下解决这个问题。下面我们将深入探讨这些知识点。 首先,Spring 1.2是一个轻量级的Java...
### 读取Oracle数据库中CLOB字段的值 在处理Oracle数据库时,经常会遇到需要读取CLOB(Character Large Object)类型字段的情况。CLOB主要用于存储大量的文本数据,如文章、文档等内容。由于CLOB类型的数据量可能...
在IT领域,尤其是在Java开发中,Spring和Hibernate是两个非常重要的框架。...这个"spring1.2+hibernate2对大字段的处理实例"就是一个很好的学习资源,能够帮助开发者深入理解如何在旧版框架下处理这类问题。
SQL Server 中 Image 类型数据导出到 Oracle 的 CLOB 字段中 在进行数据库迁移或数据交换时,需要将不同数据库管理系统之间的数据类型进行转换。在本文中,我们将讨论如何将 SQL Server 中的 Image 类型数据导出到 ...
dblink_clob字段异常解决方案 在数据库.link连接远程数据库时,经常会遇到无法使用CLOB字段的问题,这是因为CLOB字段在远程数据库中的处理方式与本地数据库不同所导致的。下面将讨论解决dblink_clob字段异常的解决...
在这个名为“移动ssh项目(struts+spring+hibernate+oracle)”的压缩包中,我们可以看到一个利用这些技术构建的项目实例,结合Oracle数据库。以下是关于SSH框架及Oracle数据库的详细介绍: 1. Struts:Struts是MVC...
Oracle如何插入CLOB字段值,附件为简单的示例代码。Oracle如何插入CLOB字段值,附件为简单的示例代码。
在IT领域,尤其是在数据库操作与Java编程的交集部分,理解和掌握如何在Java中存取Oracle数据库中的CLOB(Character Large Object)类型字段是至关重要的技能。CLOB数据类型主要用于存储大量的文本信息,如文章、报告...
Hibernate存储Clob字段的方式总结涉及了在Java开发中使用Hibernate操作大型文本字段Clob的操作方法。本文主要介绍了两种操作Clob字段的方法,一种是将Clob字段直接映射为String类型,另一种是使用Clob类型进行处理。...
"Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB(Character Large Object)和BLOB(Binary Large Object)数据类型的导出效率,特别是修复了上一版本中导出时间过长的问题...
本文将详细介绍如何有效地向Oracle数据库插入Clob大段文本,以及在操作过程中可能遇到的问题与解决方案。 ### 一、理解CLOB类型 CLOB类型是Oracle数据库中用于存储大量文本数据的数据类型,它可以存储最大为4GB的...
Oracle CLOB 行字段全文检索实现方法 Oracle 数据库中,CLOB 行字段是一种常用的数据类型,用于存储大文本数据。然而,在 Oracle8i 版本之前,对大字段 CLOB 仍然不支持在 where 子句直接的 Like 操作。这使得...