Spring Boot @Query: порядок по именованному параметру - PullRequest
0 голосов
/ 21 января 2019

Мне нравится, что моя конечная точка REST-Api сортируется по атрибутам различных моделей. Я нашел множество решений , но ни одно из них не соответствовало моим требованиям.

В моем интерфейсе PagingAndSortingRepository мне нравится что-то вроде следующего:

    @Query(value = "SELECT v FROM vwFact v WHERE v.applicationId like %:applicationId% " +
            "and (v.mdName01 like :mdName% or v.mdName02 like :mdName% or v.mdName03 like :mdName% or v.mdName04 like :mdName%) " +
            "ORDER BY :sortParam :sortDir"
    )
    Page<vwFact> findAllByApplicationIdAndMdName(
            @Param(value = "applicationId") String applicationId,
            @Param(value = "mdName") String mdName,
            @Param(value = "sortParam") String sortParam,
            @Param(value = "sortDir") String sortDir,
            Pageable pageable
    );

Есть ли шанс реализовать это, или я должен сделать это по-другому. Что бы вы порекомендовали?

1 Ответ

0 голосов
/ 21 января 2019

Pageable имеет возможность указать, как сортировать результаты (направление и параметры).

PageRequest(int page, int size, Sort sort) 
PageRequest(int page, int size, Sort.Direction direction, String... properties) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...