我有一个具有B元素集合的实体A.JPQL选择实体并获取属于选定实体的集合
我想创建一个查询,基本上做到这一点:
Select a, count(b) from A a inner join fetch a.b b group by a
我希望得到一个数组对象,其中元素0是我的一个实体和元素1是一个数值,即在数采集。
JPA(由Hibernate支持)引发以下错误:
Caused by: java.sql.SQLException: Not in aggregate function or group by clause: [email protected] in statement (sql query)
当我复制并粘贴错误向Postgres的本地SQL,这是行不通的。
当我复制并从以下JPQL查询粘贴本地SQL:
Select a, count(b) from A a inner join fetch a.b b group by a, b
的Postgres返回预期的结果。问题在于,Hibernate仍然像第一个查询一样咳嗽相同的错误。
您的查询是没有意义的。如果你按a,b分组,计数显然是1,因为每一行[a,b]都与其他所有行不同。也就是说,即使你修正了你的查询,你也可以通过https://hibernate.atlassian.net/browse/HHH-1615来修正 –
这个bug看起来像我遇到的情况,但是Zaroual Mohamed的查询确实有效 – tfecw