Pageable - сортировка по значениям из нескольких таблиц - PullRequest
0 голосов
/ 04 марта 2020

Я пишу собственный запрос, который собирает данные из нескольких таблиц. Мне также нужно просматривать страницы и сортировать по альянсам. К сожалению, Сортировка сразу «залипает» адрес первой таблицы, у которой нет данного альянса. Можно ли динамически сортировать, а также страницы? Я попытался передать строку с именем, за которым следует «order by», но hibernate игнорирует его.

@Query(value = "SELECT pt.id as id, pt.work as workplace ,bo.virtualName as title, bo.creationDate as date FROM t_projecttemplate pt JOIN t_objecttowork ot on pt.id=ot.id JOIN t_objectplus bo on ot.id=bo.id where bo.deleted=false and bo.parent_id=?1", nativeQuery = true)
List<Map<String,Object>> getObjects (Long parentId, Pageable pageable); //want to sort by title, hibernate sticks immediately "pt."

1 Ответ

0 голосов
/ 04 марта 2020

Когда вы вызываете getObjects и передаете ему Pageable (например, PageRequest), он имеет параметр sort. Таким образом, вы можете создать что-то вроде:

Pageable myPage = PageRequest.of(0, 10, Sort.Direction.ASC, "title");
getObjects(parentId, myPage);
...