【问题标题】:Technical differences between Spring Data JPA's findFirst and findTopSpring Data JPA 的 findFirst 和 findTop 之间的技术差异
【发布时间】:2016-10-28 23:09:07
【问题描述】:

我最近开始使用 Spring data jpa。

如果有人能够阐明 Spring Data JPA 的 findFirstfindTop 之间的技术差异,那将是非常值得赞赏的.

区别,用法。

谢谢

【问题讨论】:

    标签: java spring-data-jpa


    【解决方案1】:

    来自Spring Data JPA - Reference Documentation

    限制查询结果

    查询方法的结果可以通过关键字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 关键字。此外,对于将结果集限制为一个实例的查询,支持将结果包装到 Optional 中。

    【讨论】:

    • 嗨,我正在尝试使用此方法 User findTopByOrderByAgeDesc();但我在“限制”附近得到不正确的语法你能告诉我根本原因是什么
    • 你用的是什么数据库?
    • 如果firsttop 可以互换使用,为什么我们需要两者?@SkyWalker
    • @logbasex 可以使用firsttop关键字限制查询方法的结果,可以互换使用
    • @suri findTopOrderByAgeDesc 应该是正确的方法
    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    相关资源
    最近更新 更多