HibernateTemplate需要太多时间来执行查询

时间:2018-07-13 07:50:24

标签: java spring oracle hibernate

我将HibernateTemplate与Oracle数据库一起使用,并且在执行简单查询时会花费太多时间。

String queryString = "from document as doc where doc.name=?";
return getHibernateTemplate().find(queryString, "cloud");

这个简单的查询可以在8-10秒内获取200条记录。

1 个答案:

答案 0 :(得分:0)

解决此问题的第一步是通过在配置文件中将“ hibernate.show_sql”设置为“ true”来收集更多信息,以便准确查看生成了什么SQL。这样一来,您就可以查看和测试生成的查询,以找出问题的根源。

在没有更多信息的情况下,我的最佳猜测是该语句触发了对大量记录的急切获取。过度使用急切获取是一个常见错误,它可能会严重降低Hibernate应用程序的速度。 Hibernate急切的获取效率很低,一次只能检索一条记录,并且对数据库运行大量查询。