什么时候休眠关闭游标?

时间:2014-09-07 02:41:13

标签: java oracle hibernate

最近我正在使用Oracle开发一个Spring + Hibernate项目。我发现总有数百个游标同时打开。 我没有解决这个问题的线索。谁能给我一些建议?或一些参考?

PS:我知道这不是一个很好的问题,但我发现很难找到准确的文档,而且我没有时间处理目前所有的hibernate文档。

PS2:我在项目中使用了很多标准和正常的选择查询。

2 个答案:

答案 0 :(得分:1)

您的代码必须关注游标的关闭。 Thumb规则是如果你打开游标然后在处理结果集后你必须关闭它,否则你不必要地占用资源。

查看此讨论,它显示了它的工作原理:https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1041031921901

答案 1 :(得分:0)

如果您使用Hibernate 4.3.0.Final,您可能会遇到已知的hibernate错误:

https://hibernate.atlassian.net/browse/HHH-8811

正如您从链接中看到的,此错误会导致打开过多的游标。

切换到版本4.3.1.Final解决了问题。