我有一个扩展PagingAndSortingRepository
和QueryDslPredicateExecutor
的Spring Data Jpa存储库。
它指向一个包含我想用聚合函数详细说明的元素的表。我想用m.field1
获取每个MIN m.field2
。
所以这是我在@Query
方法注释中的查询:
select new x.xx.MyClass(m.field1, MIN(m.field2))
from MyClass m
group by m.field1, m.field2
这里是我的存储库接口方法:
Page<MyClass> findMyClass(Predicate predicate, Pageable pageable);
它很有效,即使这个查询可能很糟糕,也有更好的方法。
但是当我尝试使用谓词时,即使是空的谓词,我也会得到:
org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 1;
nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters.
Remember that ordinal parameters are 1-based! Position: 1
有可能让这个工作,或者我必须采用其他实现吗?