`
wangxiangjunpxp
  • 浏览: 36770 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

我的解决hibernate中clob之道

阅读更多
 session = HibernateSessionFactory.currentSession();
   session.lock(pe,LockMode.NONE);
   pe.setLastFailReason("");
   if (pe.getProtocolType() == 0) {
    // logger.error(pe.getId().toString() + "扫描前的pop3id列表 " +
    // pe.getPopUidList());
    pop3Scan(pe);
   } else if (pe.getProtocolType() == 1) {
    imapScan(pe);
   } else {
    logger.error("|" + pe.getId().getUsernumber() + "|" + "协议类型错 "
      + "|Protocol_type :" + pe.getProtocolType() + "|");
   }
   Transaction tx = null;
   // session.isOpen()
   tx = session.beginTransaction();
   // logger.error(pe.getId().toString() + "扫描后的pop3id列表 " +
   // pe.getPopUidList());
   pe.setInquireState(0l);
   pe.setLastScanTime(new java.util.Date());
   session.update(pe);
   session.flush();
//   为更新pop3uid
   logger.info("handle 1111111111");
   session.refresh(pe, LockMode.UPGRADE); //grabs an Oracle CLOB  
  // oracle.sql.CLOB clob = (oracle.sql.CLOB)((SerializableClob)pe.getPopUidListClob()).getWrappedClob();  
//   注:如果是用weblogic connection pool,则用weblogic的OracleThinClob  
   logger.info("handle 2222222222");
   pe.setPopUidListClob(Hibernate.createClob(pe.getPopUidList() + "  "));
   /*
   java.io.Writer pw = clob.getCharacterOutputStream();  
   pw.write(pe.getPopUidList() + "  ");  
   pw.flush();  
   pw.close();  
   */
   session.flush();
   logger.info("handle 3333333333");
   tx.commit();
分享到:
评论
5 楼 wangxiangjunpxp 2007-01-03  
上面的问题是因为我不小心把class12也放在类路径下,折腾了半天才发现!!!!!!
4 楼 wangxiangjunpxp 2007-01-03  
使用10.2的ojdbc14,不报:can only insert long value for long column.

但是发现长的字符串,将近10000个字符左右的串,没有插入。也没有报错,又改用clob映射类型,不知能否解决。

oracle对clob的处理也太折磨人了吧?
3 楼 wangxiangjunpxp 2006-12-29  
又改用ojdbc14,可存入较大的文本串了。

2 楼 wangxiangjunpxp 2006-12-29  
发现用class12还是无法存入2000以上的文本
1 楼 wangxiangjunpxp 2006-12-29  
用text 这个hibernate类型映射到java的string类型,即使用ojdbc14.jar,也解决了不了问题。

所以直接用clob类型映射,然后代码里面多写几行。并且必须使用class12.jar,解决了问题!

相关推荐

Global site tag (gtag.js) - Google Analytics