1

我需要将图像存储在数据库中,因此我决定使用表格设计来容纳它。桌子设计是

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

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

4

2 回答 2

2

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

于 2013-01-25T07:32:48.650 回答
1

Hibernate 将无法将内容拉到内存中,因为没有足够的内存可以将其拉到内存中。您最终会遇到 OutOfMemoryException。

于 2013-01-25T07:26:58.603 回答