gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:03:33 30 4
gpt4 key购买 nike

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

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

 public interface UserRepository extends Repository<User, Long> {

List<User> findByUsername(String username, Pageable pageable);
}
//and then I could call it like this
Pageable topTen = new PageRequest(0, 10);
List<User> result = repository.findByUsername("Matthews", topTen);

但是我如何获得最后十个记录?

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

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

最佳答案

Spring Data JPA 1.7 在派生查询中引入了 'top' 和 'first' 作为关键字,所以现在我们可以这样做:

public interface UserRepository extends Repository<User, Long> {

List<User> findFirst10ByUsername(String username);
}

看看 - Spring Data Release Train Evans Goes GA

关于sql - Spring Data JPA Java - 从查询中获取最后 10 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24068884/

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