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);
2016-12-25
hibernate讀寫oracle中blob字段的時候要做特殊操作,因為Blob自身有一個cursor,你必須使用cursor對blob進行操作,因而你在寫入Blob之前,必須獲得cursor才能進行寫入,獲得Blob的cursor需要你先插入一個empty的blob,即首先要從數據庫中查出這blob字段 ,然后給他清空 ,再通過數據流方式寫入新的