java类:J.java
对应的表:A,字段:id(int),a(String),b(int)
我想查询出:id as id,a as a,b as b,sum(b) as sum
但是这样的话就报错,因为J.java中没有sum,如果加上这个字段的话感觉又不方便,因为对于其他不查询sum的hql只能写成select new J()....的格式
不知道说清楚没有,求更好的解决方案

解决方案 »

  1.   

    hql支持sum函数,估计是你语句写的有错,应该有group by
    select id as id,a as a,b as b ,sum(b) as sum from J group by id,a,b;
    因为你使用了聚合函数,所以与聚合函数并列的那些参数(id,a)要么出现在其他函数中,要么出现在group by中
      

  2.   

    我不是写不出hql文,是由于取的值和java文件中的值对应不上
    如果加上需要的字段,我觉得不大好,原本只查询id as id,a as a,b as b的hql要改写成
    select new J()
    所以前来求帮助