我的hql语句
from Mzyz as mzyz,(select id ,count(dah) from Mzyz group by dah) as b where mzyz.id = b.id
报错:unexpected token: count
在mysql数据库中select mzyz.* from ywb_mz_yzsf as mzyz,(select id ,count(dah) from ywb_mz_yzsf group by dah) as b where mzyz.id = b.id查询是一点问题也没有
不知道哪位可以指点一下,谢谢!

解决方案 »

  1.   

    报错:unexpected token: countHQL不支持count?
      

  2.   

    hql写错了,注意不要用字段要用属性
      

  3.   

    hibernate映射时table会有相应的pojo类,像你写的b.id是没法识别
      

  4.   

    对头,hibernate  虽说是映射了表 但他操纵的实体对象  所以不是表中的字段,而是实体类的属性
      

  5.   

    hql语句没有sql那么强大的啊 
    像其他的方法实现吧 
    SQLQuerry进行原始sql查询吧
      

  6.   

    LZ太强了,hql中竟然还有sql的子查询
      

  7.   

    谢谢大家的解答,我已经知道错在哪了,hibernate对象操作,是只支持对象操作的,我后面关联那个子查询不是对象所以报错。因为以前见到过一个用hibernate查询时候关联子查询的语句,后来才发现他们用的子查询只是用在条件中。所以要用到子查询时只能把查询的结果放在where 条件中才可以