根据JPA 2.0规范的第3.8.6节“查询执行”,
将setMaxResults或setFirstResult应用于涉及对集合进行提取联接的查询的效果是不确定的。
它随数据库的不同而变化,以我的经验,结果是Hibernate通常在内存中而不是在数据库查询级别上进行分页。
我通常所做的是使用一个单独的查询来获取所需对象的ID,然后通过访存联接将其传递到查询中。

根据JPA 2.0规范的第3.8.6节“查询执行”,
将setMaxResults或setFirstResult应用于涉及对集合进行提取联接的查询的效果是不确定的。
它随数据库的不同而变化,以我的经验,结果是Hibernate通常在内存中而不是在数据库查询级别上进行分页。
我通常所做的是使用一个单独的查询来获取所需对象的ID,然后通过访存联接将其传递到查询中。