hql语句:select a.id.xm,a.id.xb,a.id.zjh,a.id.qs,a.id.pxcxhlb,a.id.xybh as xybh,sum(case b.id.pxkm when '1' then b.id.yxsc else 0 end) as km1yxsc,sum(case b.id.pxkm when '1' then b.id.pxsc else 0 end) as km1pxsc,sum(case b.id.pxkm when '1' then decimal(b.id.yxlc,10,2) else 0 end) as km1yxlc,sum(case b.id.pxkm when '2' then b.id.yxsc else 0 end) as km2yxsc,sum(case b.id.pxkm when '2' then b.id.pxsc else 0 end) as km2pxsc,sum(case b.id.pxkm when '2' then decimal(b.id.yxlc,10,2) else 0 end) as km2yxlc,sum(case b.id.pxkm when '3' then b.id.yxsc else 0 end) as km3yxsc,sum(case b.id.pxkm when '3' then b.id.pxsc else 0 end) as km3pxsc,sum(case b.id.pxkm when '3' then decimal(b.id.yxlc,10,2) else 0 end) as km3yxlc from TXysqxxb a,TPxjlzsb520400 b where a.id.xybh=b.id.xybh AND a.id.pxjgmc = '230900001' group by a.id.xybh,a.id.xm,a.id.xb,a.id.zjh,a.id.qs,a.id.pxcxhlb order by (a.id.xm) asc with ur
报错:
Exception in thread "main" java.lang.NullPointerException
at org.hibernate.dialect.Dialect$3.getReturnType(Dialect.java:102)
at org.hibernate.hql.ast.util.SessionFactoryHelper.findFunctionReturnType(SessionFactoryHelper.java:382)
at org.hibernate.hql.ast.tree.AggregateNode.getDataType(AggregateNode.java:21)
at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:143)
at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:705)
at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:529)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at com.chainway.dao.BaseHibernateDAO.findByHql(BaseHibernateDAO.java:71)
at com.chainway.imp.text.main(text.java:17)

解决方案 »

  1.   

    at com.chainway.dao.BaseHibernateDAO.findByHql(BaseHibernateDAO.java:71)
    看这个类的71行有啥错,看看你的HQL语句是否正确!
      

  2.   

    hql语句上面已经贴出来了,帮我看下嘛
      

  3.   

    无非是 getSession() 这个没有取到
    楼主把这个打印一下看看是否为空。
      

  4.   

    Exception in thread "main" java.lang.NullPointerException
    经典问题
    建议打印输出下getSession()