0

我的服务正在返回一页元素,我希望能够按许多字段对其进行排序。到目前为止,我可以按除此枚举字段之外的所有字段对其进行排序:

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 ....)。有什么解决方案,比如让我的自定义枚举排序或类似的东西。先感谢您

4

0 回答 0