2013-01-25 70 views
1

我需要將圖像存儲在數據庫中,所以我決定使用表格設計來適應它。表設計是BLOB在休眠

FILE_ID INT, 
FILE_NAME VARCHAR(200), 
FILE_CONTENTS BLOB. 

我正在使用Oracle數據庫。我認爲Oracle支持BLOB高達2 GB的存儲空間。我使用hibernate作爲JPA提供程序。模型類用Hibernate註釋註釋,其中blob字段與byte [](字節數組類型)一起使用。如果圖像大小隻有幾兆字節,那麼休眠可以將內容帶入內存。如果內容的大小超過了jvm的大小,那麼hibernate如何完成將內容帶入內存?

+0

你可以將存儲圖像的行寫入數據庫,你如何保存它,轉換爲字節數組還是什麼? –

回答

2

請勿將byte陣列用於這些目的。使用sql Blob類型,並使用streams使用它。

+0

嗨,你能建議我與參考 – vvekselva

1

Hibernate無法將內容拉到內存中,因爲沒有足夠的內存將其拉出。您將最終發生OutOfMemoryException。