hibernate中如何处理ORACLE大字段

zoulei3718 2007-07-04 05:17:32
从数据库中取数据的时候,大于4K的就会报错,发现hibernate对BLOB给的大小是4000.
请有遇到类似问题的怎么修改它大小?谢谢
...全文
272 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoulei3718 2007-07-05
  • 打赏
  • 举报
回复
自己顶一下
谁能帮一下啊
zoulei3718 2007-07-05
  • 打赏
  • 举报
回复
4k以上做特殊处理
bolb类型的
先插入空的在更新进去
就好了的
zoulei3718 2007-07-05
  • 打赏
  • 举报
回复
public static void saveReceiveMail(Receivemail receivemail,byte[] content) throws DAOException {


BaseDAO dao = new BaseDAO();


try {
Session session = dao.getSession();
Transaction tx = session.beginTransaction();
byte[] buffer = new byte[1];
buffer[0] = 1;
receivemail.setFilecontent(Hibernate.createBlob(buffer) );
session.save(receivemail);
session.flush();
session.refresh(receivemail, LockMode.UPGRADE);
SerializableBlob blob = (org.hibernate.lob.SerializableBlob)receivemail.getFilecontent();
Blob wb = blob.getWrappedBlob();
if (wb instanceof BLOB) {
BLOB image = (BLOB) wb;
OutputStream out = image.getBinaryOutputStream();
out.write(content, 0, content.length); //这里自己改成你的数据

out.flush();
out.close();}
tx.commit();
session.close();

}catch (SQLException e) {
throw new DAOException(e, "查找数据失败!");
} catch (IOException e) {
throw new DAOException(e, "数据传输失败!");
}
}
zqrqq 2007-07-05
  • 打赏
  • 举报
回复
问题是怎么解决的?能否share一下!
zoulei3718 2007-07-05
  • 打赏
  • 举报
回复
对csdn有点失望
问题已已经解决
比较兴奋
楼上的谢谢留言
结贴
zoulei3718 2007-07-04
  • 打赏
  • 举报
回复
楼上的,这样不行的,不知道你们都是怎么处理的?
zqrqq 2007-07-04
  • 打赏
  • 举报
回复
需要在hbm.xml配置文件的blob属性上加上type属性
<property name="xxx" type="blob">
这样,hibernate会用不同于其他字段的方式处理这个字段

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧