为了账号安全,请及时绑定邮箱和手机立即绑定

Hibernate怎么向Oracle里面存储blob图片文件呢?

照着视频敲的,但是把mysql数据库改成了Oracle,之前不加图片都可以,

Students s = new Students(3,"张三","男",new Date(),"厦门");
        //先获得照片文件
        File file = new File("d:"+File.separator+"panda.jpg");
        //获得照片文件的输入流
        InputStream input = new FileInputStream(file);
        //创建一个Blob对象
        Blob image = Hibernate.getLobCreator(session).createBlob(input,input.available());
        //设置照片属性
        s.setPicture(image);
        session.save(s);


正在回答

1 回答

hibernate读写oracle中blob字段的时候要做特殊操作,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,获得Blob的cursor需要你先插入一个empty的blob,即首先要从数据库中查出这blob字段 ,然后给他清空 ,再通过数据流方式写入新的

0 回复 有任何疑惑可以回复我~
#1

风中呐喊的幽灵

具体怎样实现啊!!
2017-02-21 回复 有任何疑惑可以回复我~
#2

暮暮701 回复 风中呐喊的幽灵

解决了吗?我有同样的问题?
2017-08-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Hibernate怎么向Oracle里面存储blob图片文件呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信