【发布时间】:2014-01-04 01:59:30
【问题描述】:
有没有一种方法可以使用Hibernate 以块的形式读取和写入blob。
现在我得到了OutOfmemoryException,因为整个 blob 数据在内存中加载到了byte[]。
更具体地说,假设我想将一个大文件保存到一个名为 File 的数据库表中。
public class File {
private byte[] data;
}
我在 FileInputStream 中打开文件,然后呢?
如何告诉 Hibernate 我需要流式传输内容并且不会一次提供整个 byte[] 数组?
我应该使用Blob 而不是byte[] 吗?无论如何,我怎样才能流式传输内容?
关于阅读,有没有一种方法可以告诉 hibernate(除了延迟加载之外)我需要以块的形式加载 blob,所以当我检索我的File 时,它不应该给我OutOfMemoryException。
我正在使用:
- Oracle 11.2.0.3.0
- 休眠 4.2.3 最终版
- Oracle 驱动程序 11.2
【问题讨论】:
标签: java oracle hibernate stream blob