gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 11:23:12 37 4
gpt4 key购买 nike

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

@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)来应用来 self 的 Pageable 对象的排序。

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

是否有任何我遗漏的内容或通过显式提供 order by 中应使用的表来构造 Sort 对象的任何特定方法?我的存储库实现了JpaRepository

非常感谢。

最佳答案

您可以尝试使用``(在表名的任意一侧使用单数,但此处无法正确呈现)来转义表名。当我使用子查询遇到类似问题时,转义表名称似乎可以帮助 Spring 忽略它(而不是将其添加到排序字段名称的前面)。

关于java - Spring Data JPA - 连接表上的可分页排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46307171/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com