You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Data JPA如何实现按单字段过滤、另一字段排序取第一条

组合查询实现方案

直接按照Spring Data JPA的方法命名规则拼接两个查询逻辑即可,无需额外编写自定义SQL。

具体实现

在你的Repository接口中添加如下方法定义:

// 入参为指定用户ID,返回该用户提交时间最晚的记录
你的实体类名 findFirstByUserIdOrderBySubmittedDesc(long userId);

方法名逻辑说明

  • findFirst:限定仅返回查询结果的第一条记录
  • ByUserId:过滤条件,仅匹配USER_ID字段等于传入参数的记录
  • OrderBySubmittedDesc:对过滤后的结果按照SUBMITTED字段倒序排序,排在首位的就是提交时间最晚的记录

调用示例

// 查询用户ID为1024的最晚提交记录
你的实体类名 latestRecord = 你的Repository实例名.findFirstByUserIdOrderBySubmittedDesc(1024L);

补充说明

如果存在同一用户同一时间提交多条记录的场景,需要获取所有时间最晚的记录,可将findFirst修改为findAll,返回值调整为List<你的实体类名>即可。

内容的提问来源于stack exchange,提问作者Nico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:48:02