Hibernate 是否支持 UNION ALL?

新手上路,请多包涵

我是部分 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 语法?

提前致谢。

原文由 Brady Zhu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题