【问题标题】:How to disable adding JPQL alias in pageable / sort in spring data?如何禁用在春季数据的可分页/排序中添加 JPQL 别名?
【发布时间】:2015-04-22 02:36:58
【问题描述】:

我在我的 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”排序发送参数。但是,仍然没有运气,因为春季数据还添加了别名:“e.f.famChildName”。

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

谢谢。

【问题讨论】:

  • 没有人可以回答/解决我的问题吗??

标签: spring-data spring-data-jpa


【解决方案1】:

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

这是我提交的错误

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

【讨论】:

  • 您好,感谢您的回复。我已经尝试过 1.7.3 快照版本。不幸的是,它得到了同样的错误。仅供参考,就我而言,我不使用@ onetomany / @ manytoone 之类的任何关系。有什么建议吗?
  • @uskrip 就我而言,我正在使用注释,所以我真的帮不上忙。也许用 spring 提交一个错误。他们很快就回复了我。
猜你喜欢
  • 2023-03-31
  • 1970-01-01
  • 2014-10-03
  • 1970-01-01
  • 2021-03-28
  • 2014-08-01
  • 2019-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多