我在我的dao中使用@Query,如下所示:
@Query("select e, f from Employee e, Family f "             + "where e.employeeId = f.employeeId")  public List<Object[]> getAll(Sort sort);
如前所述,我没有在Employee and Family中使用@onetomany / @manytoone。
当我想对Family entity的属性进行排序时,我遇到了一个问题。假设famChildName是族实体中的属性。
因此,在我的服务层中,我这样调用:
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
令人惊讶的是,自从春季数据添加了别名"e.famChildName“以来。我甚至尝试发送排序为"f.famChildName“的参数。但是,仍然没有运气,因为春季数据还增加了别名:"e.f.famChildName“。
我的问题是:如何禁用Spring data自动添加别名来排序属性??是否有解决此问题的方法?
谢谢。
发布于 2015-05-22 20:36:30
我也遇到了同样的问题。我为它创建了一个bug报告,事实证明它已经在快照版本中得到了修复,所以很可能会在Spring Data JPA的下一个版本中得到修复。
这是我提交的bug
https://stackoverflow.com/questions/29786742
复制相似问题