gpt4 book ai didi

spring - 使用 Spring 限制 findAll 可能?

转载 作者:行者123 更新时间:2023-12-04 00:07:28 25 4
gpt4 key购买 nike

Springs 自动实现的存储库是否可以限制 findAll 方法的结果大小?

我试图在界面中声明如下内容:

List<XY> findAllTopTen();

不幸的是,它不起作用(这种)方式......

最佳答案

如果您没有 Pageable来自您的 Controller 的对象,只需要从数据库中获取 X 数量的对象,您可以执行以下操作:

首先,您的 Repository 类必须扩展 JpaRepository<T, ID>因此它将能够使用 Pageable 对象进行查询。

其次,您可以这样定义 Pageable 对象:

Pageable limit = PageRequest.of(0,10);
return repository.findall(limit);

在这种情况下,查询将返回前 10 个对象。

您可以找到更多信息 here (向下滚动到 4.1,示例 4)
请注意,该示例实际上扩展了 PagingAndSortingRepository但是 JpaRepository包含 PagingAndSortingRepository 中的所有方法并且还有附加功能。

编辑:感谢@Zunnii 指出 new PageRequest()现在已弃用。我编辑了上面的片段以反射(reflect)这一点。

关于spring - 使用 Spring 限制 findAll 可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33018308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com