oracle的varchar2和clob类型在hibernate中使用

1。在oracle中 varchar2的最大长度为4000 bytes,即varchar2(4000),最多能储存2000个汉子或4000位的数字字母。当储存值超过时可以使用clob(Character Large Object)或blob(Binary Large Object)类型。

2。使用clob就要有string转换blob的过程:java.sql.Clob c = new javax.sql.rowset.serial.SerialClob(strObj.toCharArray());转换没有问题,当oracle数据库执行时会出现oracle.sql.clob类型转换失败的错误,推荐使用:
   ①Hibernate.createBlob(strObj.getBytes()) ;使用hibernate工具类将String转换成clob

   ②将pojo类的.hbm.xml映射文件中该字段写成String类型代替clob类型因为clob本来就是长string对象,映射文件即可以用String也可以用clob。(blob是以字节形式储存数据的,所以映射文件可以用byte[]类型来代替blob

posted @ 2016-12-13 20:52  Scoee  阅读(1308)  评论(0编辑  收藏  举报