我正在使用Spring PageRequest按数据库中的列对自定义查询进行排序(排序)。
如果我正在进行自定义查询,例如:
@Query( value = "select h from hunterhouse h join h.queens q where q.name = 'Computer Science'")
是否无法按q中的列进行排序,即我加入的表格?
PageRequest request = new PageRequest(page, size, Sort.Direction.DESC, "q.region");
debug出现为“按h.q.region排序”,这是不正确的,是否无法按连接列排序?
答案 0 :(得分:4)
您只需将要加入的完整路径放入排序表达式中。因此,您需要使用queens.region
,然后将其h.queens.region
转换为{{1}}并附加到您定义的JPQL查询中。
答案 1 :(得分:1)
我遇到了同样的问题!此错误已在Spring Data JPA 1.7.3中修复-只需确保您具有高于或等于1.7.3的版本即可!之后,它将与queens.region