转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
使用Hibernate+Oracle9i R2 处理Clob大文本数据         ★★★★

使用Hibernate+Oracle9i R2 处理Clob大文本数据

作者:闵涛 文章来源:闵涛的学习笔记 点击数:967 更新时间:2009/4/22 22:02:45

本文主要讨论直接写入Clob类型的字段

应用环境:Hibernate 2.1.3+Oracle 9i R2+Oracle 10g的ojdbc1.4

本人在做一个项目时碰到了将SQL Server 2000移植到Oracle 9i中,在SQL Server 2000种有个表,其中有个text类型的字段用来存储大文本,而在Oracle中有相应的Clob类型的字段来处理大文本。为了少量的更改代码,甚至不更改代码来达到移植的目的,本人尝试了多种方法,现总结出来希望能给碰到同样问题的同行提供参考。

在直接将大文本写入Clob类型的字段时,在Hibernate的映射文件OracleLob.hbm.xml中的映射:

<property name="content" type="text" column="tclob" />

在相应的pojo中:

在相应的pojo中:

在相应的pojo中:

package mytest.pojo;

public class OracleLob {
    .................

    private String clob;
    .................

    public String getClob() {
        return clob;
    }

    public void setClob(String clob) {
        this.clob = clob;
    }

}

写入数据库:

....................

OracleLob lob = new OracleLob();

lob.setContent(content); //content是大文本字符串

....................

session.save(lob);

...................

本人在兼顾两个数据库之间的移植时,只改映射文件而没有改动一行代码。

在OracleLob.hbm.xml文件中做pojo与数据库字段之间的映射关系时必须将type类型设定为Hibernate的text类型,我曾试过将type类型设为java.lang.String,测试证明只能存储小于32k的字符,超过32k抛出"java.sql.SQLException: setString 只能处理少于 32766 个字符的字符串"异常,而设为text类型则没有限制。

另外,使用Oracle9i版本的jdbc驱动也会出现字符限制的问题。

在Oracle10g的jdbc驱动下测试通过。


[Sql Server]该用户与可信的SQL SERVER 2005 连接无关联  [Web开发]Net2.0连接到SQLServer2005时出现的问题
[操作系统]WinServer2003下载、安装SP2补丁出现问题之解决方…  [操作系统]Windows Server 2008的十大全新亮点
[操作系统]全面剖析Windows Server 2008开发指南  [操作系统]WindowsServer2008最底硬件配置一览
[操作系统]网上找的部分Windows Server 2003常见问题及解决办…  [系统软件]EXP-00008: ORACLE error 904 encountered的解决方…
[常用软件]PB7 连接 Oracle 的配置方法  [Web开发]oracle Export and Import 简介
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台