我在我的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数据添加别名&#34; e.famChildName&#34;。 我甚至尝试在sort&#34; f.famChildName&#34;中发送参数。但是,仍然没有运气,因为春季数据也增加了别名:&#34; e.f.famChildName&#34;。
我的问题:如何禁用Spring数据自动为排序属性添加别名?对此有何解决方法?
感谢。
答案 0 :(得分:1)
我遇到了完全相同的问题。我为它创建了一个错误报告,事实证明它已在快照版本中得到修复,因此可能会在Spring Data JPA的下一个版本中修复。
这是我提交的错误