Spring data jpa sort多属性排序问题
2015-02-01 15:31
447 查看
最近在用spring data jpa ,其中涉及到使用sort进行排序问题。对于正常的排序我们可以用如下方式进行声明:
其中第一个参数表示是降序还是升序(此处表示升序),第二个参数表示你要按你的entity(记住是entity中声明的变量,不是数据库中表对应的字段)中的那个变量进行排序。这个式子很容易认识。但是问题来了,如果目前我有三个字段:age、pgrade、dnum分别表示年龄、级别、部门编号。那么我要先按age降序再按pgrade升序、再按dnum降序怎么办。
这个时候就用到了我今天想说的一个类(趁还没忘)Order,记住 这个order一定要是import org.springframework.data.domain.Sort.Order;这个包下面的。然后我们建立三个order分别为如下:
不要在意前面的名字,无伤大雅。那么我们现在的问题是建立他们三个有什么用呢,我们要用的是sort呀,有用。在sort中有种构造方法如下:
那么我们目前的任务就是把这三个order放到list里面然后把list放到sort里面这么简单。不过这里要注意,添加到list中的先后直接关联着排序的优先级,如下:
那么就完成了
Sort sort=new Sort(Direction.ASC,"id");
其中第一个参数表示是降序还是升序(此处表示升序),第二个参数表示你要按你的entity(记住是entity中声明的变量,不是数据库中表对应的字段)中的那个变量进行排序。这个式子很容易认识。但是问题来了,如果目前我有三个字段:age、pgrade、dnum分别表示年龄、级别、部门编号。那么我要先按age降序再按pgrade升序、再按dnum降序怎么办。
这个时候就用到了我今天想说的一个类(趁还没忘)Order,记住 这个order一定要是import org.springframework.data.domain.Sort.Order;这个包下面的。然后我们建立三个order分别为如下:
Order order2 = new Order(Direction.DESC, "age"); Order order3 = new Order(Direction.ASC, "pgrade"); Order order = new Order(Direction.DESC, "dnum");
不要在意前面的名字,无伤大雅。那么我们现在的问题是建立他们三个有什么用呢,我们要用的是sort呀,有用。在sort中有种构造方法如下:
那么我们目前的任务就是把这三个order放到list里面然后把list放到sort里面这么简单。不过这里要注意,添加到list中的先后直接关联着排序的优先级,如下:
list.add(order2); list.add(order3); list.add(order); Sort sort1 = new Sort(list);
那么就完成了
相关文章推荐
- Spring Data JPA使用Sort进行排序(Using Sort)(转)
- Spring Data JPA使用Sort进行排序(Using Sort)
- 关于spring-data-jpa的排序问题
- Spring Data JPA: Pagination And Sort
- Spring Data Jpa 自定义属性查询规则
- 在Spring整合 SpringMVC,SpringData和 JPA 时,如何解决 Lazy懒加载问题?
- spring-data-jpa 问题汇总
- spring data jpa 懒加载问题
- 解决spring+springMVC+Hibernate+spring-data-jpa懒加载No session问题
- Spring,SpringMVC,Jpa,SpringData 整合的问题
- spring data jpa session 查询时 session 已经关闭问题
- Spring Data Jpa: 分页和排序
- Spring Data Jpa 自定义方法实现问题
- spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序等
- 使用 spring data jpa 时,单向OnetoOne问题
- 转载 spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序等
- spring-data-jpa项目的spring包的版本问题
- 再说一下 坑爹的spring data jpa + mongodb + shiro的配置问题
- Spring Data Jpa --分页、排序查询
- spring data jpa 结合swagger 双向 stackoverflow的问题