【发布时间】:2015-04-06 10:46:06
【问题描述】:
我想显示历史表中按服务名称分组的记录数
- 服务(代码、名称)
- 历史(ID,代码,....)
请注意,两个表的历史和服务之间没有关系,历史独立于其他表存储活动
我已经测试了这个 sql 查询,它返回了预期的结果:
select s.name, count(*) from history c
join service s
on c.code=s.code
where c.state='INITIALE'
group by s.name
其实我是想用jpql写的,我也是这样做的
Query query =entityManager.createQuery(" select s.name, count(*) from ServiceEntity s join"
+ " HistoryEntity c "
+ " where c.code=s.code and c.state='INITIALE'"
+ " group by c.name order by c.name"
);
我得到了这个错误:路径应该加入!.... 无效路径:'c.code'....二元运算符的右手操作数为 null....子树的意外结束
【问题讨论】:
-
这两个查询使用不同的表。第一个查询使用
service和history表,而第二个查询使用ServiceEntity和HistoryEntity表。在 SQL*Plus 或 SQL Developer 等查询工具中测试第二个查询时会发生什么?它执行正确吗?
标签: oracle hibernate oracle11g jpql