1

我有一个使用HibernateMySQL. 在一个页面上,我有一个搜索表单,在提交时我创建了一个 HQLQuery来获取结果。

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

这是它的工作原理,还是我做错了什么?

如果是这样,这对我来说是不可用的。

ps: 使用 Criteria API 它确实可以工作,但是我在创建标准时还有一些其他限制。这就是为什么我尝试改用 HQL,但我现在面临这个问题。

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

4

0 回答 0