我在使用 Hibernate 查询 Postgres 8.4 以获取某些带有 Blob(OID 类型)的记录时遇到了这种奇怪的情况。查询确实可以正常返回,但是当我的代码想用下面的简单代码读取 BLOB 的内容时,它返回 0 个字节
public static byte[] readBlob(Blob blob) throws Exception {
InputStream is = null;
try {
is = blob.getBinaryStream();
return org.apache.commons.io.IOUtils.toByteArray(is);
}
finally {
if (is != null)
try {
is.close();
}
catch(Exception e) {}
}
}
有趣的是,我只有在开始向表中添加多个这样的记录后才会出现这种行为。 底层 JDBC 库是类型 3 (postgresq 8.4-701)。 有人可以提示我如何解决这个问题吗? 谢谢
彼得
最佳答案
看起来您可能已经发现了这个错误: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4876
关于java - Postgresql 8.4 使用 Hibernate 读取 OID 样式的 BLOB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025322/