Мой сервис возвращает страницу элементов, и я хочу иметь возможность сортировать ее по многим полям. Пока что я могу отсортировать его по всем полям, кроме этого поля перечисления:
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 ....). Есть ли какое-то решение для этого, например, сделать мой заказ нумерации или что-то в этом роде. Заранее спасибо