Nig*_*gat 5 java spring hibernate spring-data-jpa
我正在构建一个 Pageable POJO,方法是连接 2 个具有多对多关系并通过第三个表相关的表,该表的引用存在于第一个表中。我将简化我的查询到问题的核心。
@Query("SELECT new package.myDTO(t1.name, t2.description) FROM table1 t1, table2 t2 where t1.relatedtable.table2Id = t2.id")
Page<myDTO> findSomething(Pageable pageable);
我所有的字段都必须是可排序的,但正如我从这个查询的 Hibernate 结果中注意到的,它总是使用查询中提供的第一个实体(在本例中为 table1)来应用来自我的 Pageable 对象的排序。
因此,如果我想按 table2 的描述进行排序,则在排序字段中传递“描述”会导致order by t1.description而不是order by t2.description
有什么我遗漏的或通过明确提供应该在 Sort 中使用的表来构造 Sort 对象的任何特定方法order by吗?我的存储库实现了JpaRepository
非常感谢。
小智 0
您可以尝试使用 `` (在表名的两侧使用单数,但此处无法正确呈现)来转义表名。当我使用子查询遇到类似问题时,转义表名称似乎可以帮助 Spring 忽略它(而不是将其添加到排序字段名称的前面)。
| 归档时间: |
|
| 查看次数: |
1658 次 |
| 最近记录: |