SpringData JPA 中findAll 进行OrderBy排序

今天用实现一个查询全部列表倒序的功能时踩了坑,

所以写下这篇文章来记录

1. 出问题的写法
List<T> findAllOrderByTimeDesc();
2.报错信息
 No property desc found for type Date! 
3.正确写法
List<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
JPA ,可以使用 `findAll` 方法来查询某个实体的所有记录。如果需要按照某个属性进行排序,可以在 `findAll` 方法的后面添加 `OrderBy` 子句来指定排序方式。 例如,以下代码将查询 `Person` 表的所有记录,并按照 `age` 属性升序排列: ```java List<Person> persons = personRepository.findAll(Sort.by(Sort.Direction.ASC, "age")); ``` 在这个例子,`personRepository` 是一个继承了 JPA 的 `JpaRepository` 接口的自定义 Repository 接口。`Sort.by()` 方法用于创建一个排序规则,第一个参数指定排序方向(`ASC` 表示升序,`DESC` 表示降序),第二个参数指定排序的属性名。 除了 `Sort` 外,还可以使用 `Pageable` 来指定查询结果的分页和排序方式。例如,以下代码将查询 `Person` 表的第 2 页记录(每页 10 条记录),并按照 `age` 属性降序排列: ```java Pageable pageable = PageRequest.of(1, 10, Sort.by(Sort.Direction.DESC, "age")); Page<Person> persons = personRepository.findAll(pageable); ``` 在这个例子,`PageRequest.of()` 方法用于创建一个 `Pageable` 对象,第一个参数指定页码(从 0 开始计数),第二个参数指定每页记录数,第三个参数指定排序规则。 需要注意的是,`findAll` 方法返回的是一个 `List` 或 `Page` 对象,如果需要查询单个记录,应该使用 `findById` 或 `findOne` 方法,例如: ```java Optional<Person> person = personRepository.findById(1L); ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值