寻找排序班级雇员
的列表class Employee {
String name;
int age;
String dob;
}
我希望将列表排序,例如名称相等,那么如果年龄也相等,则请检查DOB。所有这些都可以朝着不同的方向发展。例如
名称可以是上升命令,年龄可以是下降订单。
我在REST控制器中使用的URL
orderBy=name,desc&orderBy=age,asc&&orderBy=dob,asc
我正在寻找使用Pagabe的弹簧数据JPA。
但是问题是数据库中的出生日期。
所以我需要将其转换为迄今为止。
然后,我考虑在Guava订购的下一个选项。
Ordering<Employee> orderPrimary = Ordering.natural().onResultOf(new EmployeeOrderByName());
Ordering<Employee> orderSecondary = Ordering.natural().reverse().onResultOf(new EmployeeOrderByAge());
orderPrimary.compound(orderSecondary);
,但在URL字段中可以按不同的顺序且可以朝着不同的方向,在这里我不确定如何进行。
满足我要求的任何最佳方法。
您可以尝试使用@Converter
将DOB字符串转换为/从日期转换为DOB字符串,然后在标准或查询中使用订单。...但是您需要进行一些试用和错误,因为转换器与查询不太好(而且很可能也有标准(...这是有关转换器的教程