我有一个Spring Data Jpa存储库,扩展了PagingAndSortingRepository
和QueryDslPredicateExecutor
。
它指向一个表,该表包含我想用聚合函数详细说明的元素。我想每一次读取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
这是我的存储库接口方法:
PagefindMyClass(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
那么有可能使此工作正常进行,还是我不得不采用另一种实现方式?