【发布时间】:2011-05-13 13:29:15
【问题描述】:
我有一个按块接收 100 Mb 视频文件的网络服务
public void addFileChunk(Long fileId, byte[] buffer)
如何使用 hibernate 将此文件存储在 Postgresql 数据库中?
使用常规 JDBC 非常简单。我会在我的网络服务方法中使用以下代码:
LargeObject largeObject = largeObjectManager.Open(fileId, LargeObjectManager.READWRITE);
int size = largeObject.Size();
largeObject.Seek(size);
largeObject.Write(buffer);
largeObject.Close();
如何使用 Hibernate 实现相同的功能?并按块存储这个文件?
在我看来,将每个文件块作为 bytea 存储在单独的行中似乎不是那么聪明的主意。皮斯建议。
【问题讨论】:
-
你为什么不直接绕过 Hibernate 呢?
-
因为这是 Spring 集成的 Web 服务,我已经注入了 Hibernate 和事务管理 bean,并在其他方法中广泛使用。所以我不想只为存储这个文件而打开新的 JDBC 连接。
标签: java hibernate postgresql jdbc jakarta-ee