Spring Data JPA 的 findFirst 和 findTop 之间的技术差异

我最近开始使用 Spring data jpa。

如果有人能给 Spring Data JPA 的findTop之间的 技术差异一些启示,那将是非常可观的。

差异,用法。

谢谢

89461 次浏览

来自 Spring Data JPA-参考文档,

限制查询结果

查询方法的结果可以通过关键字 firsttop进行限制,这两个关键字可以互换使用。可以将一个可选的数值追加到 top/first,以指定要返回的最大结果大小。如果省略该数字,则假定结果大小为1。

使用 Top 和 First 限制查询的结果大小

User findFirstByOrderByLastnameAsc();


User findTopByOrderByAgeDesc();


Page<User> queryFirst10ByLastname(String lastname, Pageable pageable);


Slice<User> findTop3ByLastname(String lastname, Pageable pageable);


List<User> findFirst10ByLastname(String lastname, Sort sort);


List<User> findTop10ByLastname(String lastname, Pageable pageable);

限制表达式还支持 Distinct关键字。此外,对于将结果集限制为一个实例的查询,支持将结果封装到可选项中。