函数0的缓存查找失败:postgres + hibernate

时间:2011-05-30 06:45:10

标签: java hibernate exception postgresql


   在我们的应用程序中,我们使用hibernate + postgres进行持久化。最近,执行一个查询似乎在疯狂模式下设置Postgres ...查询是一个简单的2表连接,为某些属性添加了额外的条件子句。 在通过hibernate会话执行它们时,postgres失败,异常“函数0的高速缓存查找失败” - 这无论如何都没有用!

所以,我调出了postgres日志,发现无论何时执行“select”查询,我都会在postgres日志中看到以下内容:

 "UTC ERROR: XX000: cache lookup failed 0"
 "UTC Location: get_func_retset, lsyscache.c:1368"

有趣的部分是通过命令行执行相同的查询不会导致此问题。有没有人遇到过这种情况?如果是这样,你是如何解决的?

任何评论/建议高度赞赏! 感谢

1 个答案:

答案 0 :(得分:0)

找到解决方案。我们在postgres中创建了自定义函数/运算符,而且其中一个表列是char而不是varchar。将这些列更改为varchar解决了问题