BLOB/CLOB类型在HIBERNATE中的应用

原创 2006年05月29日 15:00:00

    为什么需要clob/blob对象?
         在实际的项目开发过程当中,有时候需要存取比较大的数据。而在oracle中,varchar2的长度不能够满足需求,因此就得需要用到clob/blob。

    BLOB/CLOB在HIBERNATE中的如何应用?
       
   为了更好的理解,我们举一个文章发布的例子做为讨论。

          实体类(POJO)MessageArticle

          ........................
          private Clob content1;
          private String content;

         public String getContent() {
          return content;
        }

    public void setContent(String content) {
        this.content = content;
    }

    public Clob getContent1() {
        return content1;
    }

    public void setContent1(Clob content1) {
        this.content1 = content1;
    }
    ........................

   配置文件(*.hbm.xml)

   <property name="content1" type="clob">
            <column name="CONTENT"  />
        </property>

   CURD实现(保存和修改):
      String content = request.getParameter("content");
      MessageArticle article1 = new MessageArticle();
      ............................
      Integer articleid = (Integer)getHibernateTemplate().save(article1);

   try {
        MessageArticle article = (MessageArticle)getHibernateTemplate().load(MessageArticle.class, articleid, LockMode.UPGRADE);
        oracle.sql.CLOB clob = (oracle.sql.CLOB) ((SerializableClob)article.getContent1()).getWrappedClob();       
        java.io.Writer pw = clob.getCharacterOutputStream();
        pw.write(content);
        pw.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }catch(IOException ex){
            ex.printStackTrace();
        }

     //读取
     ........................
    MessageArticle article = (MessageArticle)getHibernateTemplate().load(MessageArticle.class, articleid, LockMode.UPGRADE);
            Clob clob = article.getContent1();
            if (clob != null) {
                String content = clob.getSubString(1, (int) clob.length());
                article.setContent(content);
            }

Hibernate的Annotation中实体BLOB、CLOB类型的注解

在Hibernate Annotation中,实体BLOB、CLOB类型的注解与普通的实体属性有些不同,具体操作如下:  BLOB类型的属性声明为byte[]或者java.sql.B...
  • z69183787
  • z69183787
  • 2013年04月03日 10:51
  • 9598

使用Hibernate存取大对象数据类型(clob和blob)

数据库表如下: book表 id 该表的主键。number类型。 photo 代表图书的图片,blob类型。 description 图书的描述,clob类型。 ...
  • zmx729618
  • zmx729618
  • 2016年05月03日 09:15
  • 3338

使用 hibernate 存取大对象数据类型(clob和blob)

数据库表如下: book表 id 该表的主键。number类型。 photo 代表图书的图片,blob类型。 descripti...
  • z69183787
  • z69183787
  • 2013年11月22日 13:19
  • 16619

使用 hibernate 存取大对象数据类型(clob和blob)

数据库表如下: book表 id 该表的主键。number类型。 photo 代表图书的图片,blob类型。 description 图书的描述,clob...
  • liangyixin19800304
  • liangyixin19800304
  • 2013年10月16日 22:54
  • 610

Hibernate的Annotation中实体BLOB、CLOB类型的注解

在Hibernate Annotation中,实体BLOB、CLOB类型的注解与普通的实体属性有些不同,具体操作如下:  BLOB类型的属性声明为byte[]或者java.sql.B...
  • z69183787
  • z69183787
  • 2013年04月03日 10:51
  • 9598

Hibernate读写Clob和Blob类型字段

数据库脚本: create table testcb(id varchar(32) primary key,name varchar(32),photo blob,description text)...
  • wyt4455
  • wyt4455
  • 2013年03月28日 09:35
  • 427

Hibernate的Annotation中实体BLOB、CLOB类型的注解

在Hibernate Annotation中,实体BLOB、CLOB类型的注解与普通的实体属性有些不同,具体操作如下: BLOB类型的属性声明为byte[]或者java.sql.B...
  • majian_1987
  • majian_1987
  • 2013年07月05日 16:28
  • 819

Hibernate读写Clob和Blob类型字段

数据库脚本: create table testcb(id varchar(32) primary key,name varchar(32),photo blob,description t...
  • u011905238
  • u011905238
  • 2013年09月04日 09:25
  • 413

关于Oracle的 Clob数据类型在Hibernate中的应用小结

  • 2009年07月31日 09:46
  • 198KB
  • 下载

如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

  • 2009年10月27日 16:06
  • 91KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:BLOB/CLOB类型在HIBERNATE中的应用
举报原因:
原因补充:

(最多只允许输入30个字)