Мне нравится, что мою конечную точку 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
);
Есть ли шанс реализовать это, или мне нужно сделать это другим способом. Что бы вы порекомендовали?




Pageable имеет возможность указать, как сортировать результаты (как по направлению, так и по параметрам).
PageRequest(int page, int size, Sort sort)
PageRequest(int page, int size, Sort.Direction direction, String... properties)