如何在Hibernate当中操作Oracle Clob

之前做的项目都是比较简单,jsp + javabean操作数据库,其中也做过对Oracle的Clob字段进行操作。学习Hibernate,Spring已经一年多了,如何使用Hibernate还操作Oracle的Clob字段,说真的,还没有试过,之前只是看过相应的文档而已,而没有实际的经验。
之前使用JDBC操作Clob基本上就是先插入一个空字符到Clob字段,再把刚刚插入的数据读出来,然后更新Clob字段。Hibernate的操作基本上也是如此。
插入操作:
    ......
    article.setContentClob(Hibernate.createClob(" "));
   session.save(article);
   session.flush();
   session.refresh(article, LockMode.UPGRADE);
   oracle.sql.CLOB clob = (oracle.sql.CLOB) article.getContentClob();
   Writer writer = clob.getCharacterOutputStream();
   writer.write(article.getContent());
   writer.flush();
   writer.close();
   ......
读取操作:
   ......
    article = (Article)session.get(Article.class, id);
   java.sql.Clob clob = article.getContentClob();
   if(null != clob){
    String clobString = clob.getSubString(1, (int) clob.length());
    article.setContent(clobString);
   }
   ......
其中,在Article的实体当中有两个字段,定义如下:
......
private java.sql.Clob contentClob;
private String content;
......
hbm文件定义如下:
......
<property name="contentClob" column="CONTENT" type="clob"/>
......
contentClob是mapping到数据库的Clob字段
而content是处理clob的值,该值主要是负责表单数据与实体之间的对应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值