开发环境:
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字段没有任何问题,也不存在数据过大时出现错误。
分享到:
相关推荐
hibernate存取oracle的clob
JDBC读写Oracle的CLOB字段
ORACLE中CLOB字段转String类型
J2EE开发中,经常会遇到存储大文本的文字信息,而oracle数据库的vachar字段最大能存储4000个字节,存储更大的信息必须使用clob或blob字段,本文档就是针对j2ee开发中对colb字段操作的实现。
把oracle数据库中字段类型为clob的字段值以字符串的形式读取出来
是我自己验证过的 用的是oracle10数据库 文件里面有具体的配置。
运用Java如何存取Oracle中的CLOB类型字段
Oracle导出Clob,Blob工具 ,支持导出CLob工具版本2,解决上个版本导出时间有问题的bug
最近在用oracle的过程中用到了对blob字段模糊查询的问题。接下来通过本文给大家分享关于oracle中clob字段查询慢的问题及解决方法,需要的的朋友参考下吧
sql server中的image类型的数据导出到oracle的clob字段中
Oracle导出Clob,Blob等大字段工具,自己写的工具,方便大家下载使用
介绍了利用Hibernate将一个长字符串转换为流存储至Clob字段中,然后再从Clob字段中读出来,转换为字符串输出的方式
向Oracle数据库插入Clob大段文本解决方法
Oracle如何插入CLOB字段值,附件为简单的示例代码。Oracle如何插入CLOB字段值,附件为简单的示例代码。
CLOB字段类型报错 ORA-01704:文字字符串过长的解决
关于Oracle的 Clob数据类型在Hibernate中的应用小结
CLOB字段处理 对CLOB进行存取的例子