我最近开始使用Spring data jpa。
如果有人可以阐明 Spring Data JPA的 findFirst
和findTop
之间的技术差异,那将是非常有意义的。
差异,用法。
谢谢
最佳答案
从Spring Data JPA - Reference Documentation,
限制查询结果
可以通过关键字first
或top
限制查询方法的结果,这些关键字可以互换使用。可以将一个可选数值附加到top/first
上,以指定要返回的最大结果大小。如果省略该数字,则假定结果大小为1。
使用“顶部”和“第一”限制查询的结果大小
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
关键字。另外,对于将结果集限制为一个实例的查询,支持将结果包装到Optional中。