首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate 写入 clob 有关问题

2012-11-15 
hibernate 写入 clob 问题哎,今天辛苦了一天,就是为了使用hibernate实现clob字段的插入,我使用的环境是hib

hibernate 写入 clob 问题
   哎,今天辛苦了一天,就是为了使用hibernate实现clob字段的插入,我使用的环境是hibernate 3.0和class12的开发包,当执行到
。。。。。
            ssSession.save(cMail);
           ssSession.flush();
           szTypeID = cMail.getTypeId();
         ssSession.refresh(cMail, LockMode.UPGRADE);
  SerializableClob clob=(SerializableClob)cMail.getContent();
oracle.sql.CLOB tmpClob = (oracle.sql.CLOB) clob.getWrappedClob();
           java.io.Writer pw = tmpClob.getCharacterOutputStream();
           pw.write(strContent);
           pw.flush();
           pw.close();
           ssSession.flush();
           tx.commit();
时候总报出类型转化错误,但是我看实际取出来就是tmpClob oracle.sql.CLOB但是就是造型错误,真的要人命啊,在网上找了好久没有看到这个解决方法,有人说换最新的oracle驱动就可以了,但是我们现在工程已经做的差不多了,更新驱动可能会有很多问题,没有办法,只能找可有什么好点的方案,原来问题是
在我的netbeans bulid下面lib 中有class12.jar tomcat中的lib中也有class12.jar,两个重复的jar会造成造型错误,真的很郁闷,把工程中的依赖包删除就可以了,呵呵,希望以后朋友遇到这样的问题不要象我这样又重复了一天的工作,真的很不爽session.save(user);
session.flush();

session.refresh(user, LockMode.UPGRADE);

SerializableBlob sb = (SerializableBlob)user.getPhoto();
java.sql.Blob wrapblob = sb.getWrappedBlob();
oracle.sql.BLOB blob = (oracle.sql.BLOB) wrapblob;
OutputStream output = blob.getBinaryOutputStream();
FileInputStream input=new FileInputStream("E:/PHOTO/baby/c0.jpg");
byte b []=new byte[80*1024];
input.read(b);

output.write(b);
input.close();
output.close();

SerializableClob sc=(SerializableClob)user.getResume();
java.sql.Clob wrapclob=sc.getWrappedClob();
oracle.sql.CLOB clob=(oracle.sql.CLOB)wrapclob;
java.io.Writer writer=clob.getCharacterOutputStream();
writer.write("This is the second clob");
session.save(user);
tx.commit();
}

}
这是我写的一个测试的方法,我用的就是classes12.jar  没有问题啊

热点排行