1
HQLでJDBCクエリを書き直しています。HQLでHAVINGでSUMを使用しようとすると "CLOSE、found '='"例外が発生する
私はワークフローがあり、ワークフローごとにいくつかのタスクがあります。 タスクは '0'、 '1'、 '2'、 '3'のタイプで、BOOLカラムが 'completed'であることができます。各ワークフローには、各タイプの少なくとも1つのタスクがあります。ワークフローのタイプが「0」のタスクのみが完了しているジョブだけを取得する必要があります。
"SELECT j.*
FROM job j
INNER JOIN workflow w
ON j.id = w.job_id
INNER JOIN task t
ON t.workflow_id = w.id
WHERE j.company_id = ?
GROUP BY j.id
HAVING SUM(t.completed = TRUE AND t.type != 0) = 0"
はここに私のHQLクエリです:
は、ここに私のJDBCクエリです
"SELECT j
FROM Job j
JOIN c.workflow w
JOIN task t
WHERE j.company_id = :companyId
GROUP BY j.id
HAVING SUM(t.completed = TRUE AND t.type != 0) = 0"
しかし、このHQLクエリーを実行している私は、SUM句の例外 " '=' が見つかり、CLOSE期待" できます。
使用 'HAVING SUM(t.completed)= = 0 ' –
私は私が必要とする結果を返しません、残念ながらあなたのコメントティムしかしに感謝:ここでの作業クエリです!。私のHQLクエリには既に言及したものを除いて多くのエラーが含まれているようです。 – frostmann