有沒有辦法使用Hibernate
以塊的形式讀取和寫入blob
。 現在我得到OutOfmemoryException
,因爲整個blob數據在內存中加載到byte[]
。使用休眠塊讀取/寫入塊數據
更具體地說,假設我想將一個大文件保存到名爲File
的數據庫表中。
public class File {
private byte[] data;
}
我在FileInputStream中打開文件然後是什麼? 如何告訴Hibernate我需要流式傳輸內容並且不會一次給出整個byte[]
數組? 應該用Blob
代替byte[]
嗎?無論如何,我怎樣才能流內容?
關於閱讀,有沒有一種方法可以告訴休眠(除了懶惰加載它)我需要blob加載成塊,所以當我檢索我的File
它不應該給我OutOfMemoryException
。
我使用:
- 甲骨文11.2.0.3.0
- 的Hibernate 4.2.3最終
- Oracle驅動程序11.2
如何在hbm.xml中定義@Lob(我們在hbm.xml文件中定義我們的域對象)? – Atticus
我相信@Lob註釋是可選的,只要您聲明它是type =「blob」 –
誰將關閉該流? –