我有一個具有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