gpt4 book ai didi

spring-data - 如何禁用在 spring 数据的可分页/排序中添加 JPQL 别名?

转载 作者:行者123 更新时间:2023-12-02 03:27:04 24 4
gpt4 key购买 nike

我在我的 dao 中使用 @Query 是这样的:

@Query("select e, f from Employee e, Family f "
+ "where e.employeeId = f.employeeId")
public List<Object[]> getAll(Sort sort);

如前所述,我不在员工和家庭中使用@onetomany/@manytoone。

当我想对 Family 实体的属性进行排序时遇到问题。假设 famChildName 是 Family 实体中的一个属性。

所以,在我的服务层,我这样调用:

Sort sort = new Sort(new Sort.Order("famChildName"));
dao.getAll(sort);

当我看到生成的 JPQL 时:

select e, f from entity.Employee e, entity.Family f
where e.employeeId = f.employeeId order by e.famChildName asc

真令人惊讶,因为 spring 数据添加了别名“e.famChildName”。我什至尝试按“f.famChildName”排序发送参数。但是,仍然没有运气,因为 Spring 数据还添加了别名:“e.f.famChildName”。

我的问题:如何禁用 Spring 数据自动添加别名来排序属性??有什么解决方法吗?

谢谢。

最佳答案

我遇到了完全相同的问题。我为它创建了一个错误报告,事实证明它已在快照版本中得到修复,因此很可能会在下一个 Spring Data JPA 版本中得到修复。

这是我提交的错误

https://jira.spring.io/browse/DATAJPA-726

关于spring-data - 如何禁用在 spring 数据的可分页/排序中添加 JPQL 别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786742/

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