我的服务正在返回一页元素,我希望能够按许多字段对其进行排序。到目前为止,我可以按除此枚举字段之外的所有字段对其进行排序:
enum ActionStatusEnum {
TO_DO("ToDo"),
ROUGH_DRAFT("Brouillon"),
WAITING_FOR_VALIDATION("En attente de validation"),
VALIDATED("Validée"),
......
private String label;
ActionStatusEnum(String value) {
label = value;
}
public String getLabel() {
return label;
}
到目前为止,我的排序看起来像这样(状态是枚举字段)
for (String sort : sorts) {
switch(sort) {
case "createDate":
s = new Sort(Sort.Direction.DESC, "creationDate");
mySort = mySort == null ? s : mySort.and(s);
break;
case "rubric":
s = new Sort(Sort.Direction.ASC, "task.rubric");
mySort = mySort == null ? s : mySort.and(s);
break;
........ // other cases
case "status":
s = new Sort(Sort.Direction.DESC, "status");
break;
default :
s = new Sort(Sort.Direction.DESC, "submissionDate");
mySort = mySort == null ? s : mySort.and(s);
break;
}
}
正如您所期望的,每当我按状态排序时,它都会按字母顺序排序;而我需要订购它,因为它在枚举中声明(TO_DO 然后 ROUGH_DRAFT 然后 WAITING_FOR_VALIDATION ....)。有什么解决方案,比如让我的自定义枚举排序或类似的东西。先感谢您