0

我正在编写一个从多个表中收集数据的本机查询。我还需要可分页并按联盟排序。不幸的是,Sort 立即“粘住”了第一个没有给定联盟的表的地址。是否可以动态排序和分页?我试图传递一个名称后跟“order by”的字符串,但休眠忽略它。

@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."
4

1 回答 1

0

当您调用getObjects并传递Pageable给它时(例如PageRequest),它有一个sort参数。所以你可以创建类似的东西:

Pageable myPage = PageRequest.of(0, 10, Sort.Direction.ASC, "title");
getObjects(parentId, myPage);
于 2020-03-04T14:54:16.667 回答