BLOB在Hibernate中

时间:2013-01-25 07:20:41

标签: java hibernate

我需要将图像存储在数据库中,因此我决定采用表格设计来适应它。表格设计是

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

我正在使用Oracle数据库。我认为Oracle支持BLOB高达2 GB的存储空间。我正在使用hibernate作为JPA提供程序。模型类使用Hibernate注释进行注释,其中blob字段使用byte [](字节数组类型)。如果图像大小只有几兆字节,那么休眠可以将内容带入内存。如果内容的大小超过了jvm的大小,那么hibernate如何将内容带入内存呢?

2 个答案:

答案 0 :(得分:2)

不要将byte数组用于这些目的。使用sql Blob类型,并使用streams

进行处理

答案 1 :(得分:1)

Hibernate无法将内容拉到内存中,因为没有足够的内存来拉取内存。最终会出现OutOfMemoryException。