使用HQL分页数据

时间:2012-05-04 09:11:15

标签: java mysql hibernate pagination hql

我有一个java web应用程序,我使用HibernateMySQL。 在页面上,我有一个搜索表单,在提交时我创建一个HQL Query来获取结果。

我使用.setFirstResult().setMaxResults()进行分页。这工作正常,但不是我的结果集包含很多记录... 我认为.setMaxResults()会在实际的SQL查询中使用limit,但它似乎没有。 所以它将整个结果加载到内存中,然后才使用我在.setMaxResults()中设置的值,这会导致内存问题。

这是它的工作方式,还是我做错了什么?

如果是这样,那对我来说就无法使用了。

PS: 使用Criteria API它确实有效,但我在创建标准时遇到了一些其他限制。这就是我尝试使用HQL的原因,但我现在面临这个问题。

我的观察结果是否正确?还有其他解决方案吗?

0 个答案:

没有答案