6
從this question的衍生產品,它可以使用HQL或條件爲下面的SQL語句:儘管谷歌來了CASE語句或者指標
SELECT
e.type,
count(e),
count(d),
count (case when gender = 'male' then 1 else NULL end) AS NumberOfMaleEmployees
from Department d
JOIN d.employees e
WHERE e.dead = 'maybe'
GROUP BY e.type
有幾命中那個狀態HQL支持CASE語句,休眠3.6.6失敗,並
QuerySyntaxException:意外的標記:CASE
當我創建上面的查詢在一個EntityManager實例上。
有多少壞主意,爲每個e.type創建另一個查詢以手動確定男性的數量,例如,對於每個e.type
SELECT
count(e),
from Department d
JOIN d.employees e
WHERE e.dead = 'maybe', e.type = ugly
由於可能有相當多的類型,這可能很慢。我希望數據庫爲我完成這項工作。
謝謝,這只是讓我從瘋了。這是[錯誤報告](https://hibernate.onjira.com/browse/HHH-4150)。它已經有幾年了,但仍然沒有解決... –
我們可以使用Criteria查詢嗎? –
它也適用於Criteria API。 – gillesB