提问者:小点点

Spring Data JPA-连接表上的可分页排序


我正在通过连接2个表来构建一个可分页POJO,这2个表具有ManyTo多关系,并且通过第三个表相关联,第一个表中存在对该表的引用。我将简化我的查询到问题的核心。

@Query("SELECT new pack. myDTO(t1.name,t2.描述)from table1 t1,table2 t2 where t1.relatedtable.table2Id=t2.id")Page

我的所有字段都必须是可排序的,但正如我从此查询的Hibernate结果中注意到的那样,它始终使用Query中提供的第一个Entity(在本例中为table1)来应用来自我的可分页对象的排序。

因此,如果我想按table2的描述进行排序,在我的排序字段中传递“描述”会导致按t1. design排序,而不是按t2.design排序

我是否缺少任何东西或任何特定的方法来通过显式提供应该按顺序使用的表来构造Sort对象?我的存储库实现了JpaRepository

多谢了。


共1个答案

匿名用户

您可以尝试使用"(在表名的两侧使用单数,但在此处无法正确呈现)来转义表名。当我在使用子查询时遇到类似问题时,转义表名似乎有助于Spring忽略它(而不是将其固定在Sort字段名称的前面)。