Spring JPA PageRequest按连接列排序

时间:2015-01-22 08:20:25

标签: spring jpa spring-data-jpa

我正在使用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排序”,这是不正确的,是否无法按连接列排序?

2 个答案:

答案 0 :(得分:4)

您只需将要加入的完整路径放入排序表达式中。因此,您需要使用queens.region,然后将其h.queens.region转换为{{1}}并附加到您定义的JPQL查询中。

答案 1 :(得分:1)

我遇到了同样的问题!此错误已在Spring Data JPA 1.7.3中修复-只需确保您具有高于或等于1.7.3的版本即可!之后,它将与queens.region

一起使用

春季资料来源:https://jira.spring.io/browse/DATAJPA-726