微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – Spring Data JPA Java – 从查询中获取最后10条记录

有没有办法从查询中检索最后X个结果?

例如 – 如果想要前十个结果,我看到这里的例子有效:setMaxResults for Spring-Data-JPA annotation?

 public interface UserRepository extends RepositoryCould call it like this
 Pageable topTen = new PageRequest(0,10);
 List

但是如何获得最后十条记录呢?

我能想到的唯一方法就是翻转查询中的顺序(findByUsernameDesc,假设原始结果是升序的),然后向后遍历列表,这样我就可以按照我想要的顺序(升序)处理它.

这似乎是一种丑陋的方式.有没有办法让查询按我想要的顺序给我最后的X结果?

最佳答案
问题是选项的效率如何,特别是针对大型数据集.

我会选择降序索引,我可以使用maxResult支持查询,因为你已经弄明白了.

这绝不是一个黑客行为.如果您只匹配100M结果以获得最后的X结果,则此方法将产生最佳结果.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐