私は部分的な UI 開発者です。現在、Hibernate 開発に移行する必要があります。今日、UNION ALL を使用しようとしたときに HQL で問題が発生しました。HQL は次のとおりです。
SELECT COUNT(DISTINCT users.userId) AS totalSize FROM (SELECT DISTINCT
d1.sponsor.id AS userId FROM Dating d1 WHERE d1.invitee.id = ? UNION ALL
SELECT DISTINCT d2.invitee.id AS userId FROM Dating d2 WHERE d2.sponsor.id = ?)
AS users
次のようなエラーが表示されます。
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: ( near line 1, column 55
そして、この HQL を生の SQL に変換しようとしました。
SELECT COUNT(DISTINCT users.userId) AS totalSize FROM (SELECT DISTINCT
d1.sponsorId AS userId FROM mmy_dating d1 WHERE d1.inviteeId = 6 UNION
ALL SELECT DISTINCT d2.inviteeId AS userId FROM mmy_dating d2 WHERE
d2.sponsorId = 6) AS users;
通常は正しい結果が表示されるので、Hibernate が UNION ALL 構文をサポートしていないかどうかを考えていました。
前もって感謝します。