totalelements返回的数据表总行的值不正确

xuo3flqw  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(426)

我想实现一个返回分页请求/响应的查询。

@Repository
@SuppressWarnings("all")
public interface OfferingsRepository extends JpaRepository<Offerings, UUID>,
        CustomJpaSpecificationExecutor<Offerings> {
        .......
}

向包含23行的表中发出请求:

Page<Offerings> all = offeringsRepository .findAll(
                new Offerings(searchCriteria, relevance),
                PageRequest.of(0, 20));

        long count = all.getTotalElements();

计数应该是23,但我是20。我不明白为什么我得到20元。应该是23岁。你知道我怎样才能解决这个问题吗。

ia2d9nvy

ia2d9nvy1#

您需要在api中提供一个单独的countquery。默认情况下,您将获得findall()方法返回的记录数,即前20个。
接口的示例代码:

@Query(name = "SELECT offr FROM Offerings offr", countQuery = "SELECT count(offr) FROM Offerings offr")
  Page<Offerings> findAll();

相关问题