Java 如何限制CriteriaBuilder查询中的记录数?
我想限制CriteriaBuilder中的数据数量,因此我的代码如下所示Java 如何限制CriteriaBuilder查询中的记录数?,java,hibernate,jpa,Java,Hibernate,Jpa,我想限制CriteriaBuilder中的数据数量,因此我的代码如下所示 typeQuery.setFirstResult(0); typeQuery.setMaxResults(10); typeQuery.getResultList(); but instead of limiting on Database it is fetching whole data and then fetch limit data from session. so my question is how ca
typeQuery.setFirstResult(0);
typeQuery.setMaxResults(10);
typeQuery.getResultList();
but instead of limiting on Database it is fetching whole data and then fetch limit data from session.
so my question is how can i limit rows directly from database?
不过,您可以尝试使用本机限制或行数。只是另一种方法 您可以尝试使用本机限制或行数。只是另一种方法 试试这个
Integer firstItem = 0;
Integer numOfItems = 10;
return entityManager.createQuery(typeQuery).setFirstResult(firstItem).setMaxResults(numOfItems).getResultList();
在执行te查询时,请尝试以下操作
Integer firstItem = 0;
Integer numOfItems = 10;
return entityManager.createQuery(typeQuery).setFirstResult(firstItem).setMaxResults(numOfItems).getResultList();
在执行te查询时,CriteriaBuilder将查询转换为HQL/JPQL,然后执行查询。HQL/JPQL不支持限制SQL关键字或其他类似关键字。因此,无论是使用CriteriaBuilder还是HQL/JPQL,都不可能以本机方式执行限制查询。CriteriaBuilder将查询转换为HQL/JPQL,然后执行查询。HQL/JPQL不支持限制SQL关键字或其他类似关键字。因此,无论是使用CriteriaBuilder还是HQL/JPQL,都不可能以本机方式执行限制查询。不可能,就像您所展示的那样完成。不可能,就像您所展示的那样完成。