【发布时间】:2011-01-07 20:02:54
【问题描述】:
我无法将原生 SQL 查询转换为 HQL。 查询如下:
select count(*)
, sum(select count(*) from employee e where e.company_id=c.id))
from company c where c.id = someID
第一个返回值是公司数量,第二个 - 指定公司的员工数量。
即我必须为 id=someID 的公司获取这两个值。
问题在于 hibernate 不支持 SELECT 部分中的子选择,仅在 WHERE 中 - 按规范。
其实我可以:
1) 使用本机查询通过 EntityManager 运行它
2) 将这个“复杂”查询划分为两个更简单的 SQL 查询
但是在HQL中实现初始查询是否存在更方便的方法? - 这是一个问题。
谢谢。
【问题讨论】: