我将本机SQL查询转换为HQL时遇到问题 . 查询如下:
select count(*)
, sum(select count(*) from employee e where e.company_id=c.id))
from company c where c.id = someID
对于指定公司,第一个返回值为 count of companies ,第二个 amount of employees .
即我必须为id = someID的公司获得这两个值 .
问题是hibernate不支持SELECT部分中的子选择,仅在WHERE中 - 通过规范 .
其实我可以:
1)使用本机查询通过EntityManager运行它
2)将这个“复杂”查询分成两个更简单的SQL查询
但是可能存在更方便的方法来实现HQL中的初始查询? - 这是一个问题 .
谢谢 .
1 回答
这可能有效: