【问题标题】:Spring Data JPA: Filter by one Field, sort by another field and get firstSpring Data JPA:按一个字段过滤,按另一个字段排序并获得第一
【发布时间】:2021-09-24 09:59:56
【问题描述】:

假设有一个包含以下列的表格: 状态 - 已提交 - USER_ID

我想查询存储库接口,以获取某个 USER_ID 最后提交的行。

我知道有findByUserId(long userId)findFirstByOrderBySubmittedDesc(),但我不知道如何组合它们。

如何结合这两种方法?

【问题讨论】:

    标签: spring-data-jpa query-builder spring-repositories


    【解决方案1】:

    好的,我通过反复试验弄明白了:

    findFirstByUserIdOrderBySubmittedDesc(long userId)
    

    也许这对某人有帮助:)

    【讨论】:

      【解决方案2】:

      在你的 repo 中定义一个方法:

      Page<YourEntity> findByUserId(Long userId, Pageable page)
      

      这样称呼它。创建Pageable

      Pageable firstBySubmittedDescending = 
        PageRequest.of(0, 1, Sort.by("submitted").descending());
      

      将它传递给你的方法。

      请记住,您得到的是 Page 而不是一个实体。需要在页面调用getContent()获取。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-23
        • 2016-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多