tenho o seguinte HQL:
select new Map(registroPonto.pessoa.departamento as departamento,
sum(case when registroPonto.status = 'C' then 1 else 0 end) as completo,
sum(case when registroPonto.status = 'A' then 1 else 0 end) as incompleto,
sum(case when registroPonto.status = 'T' then 1 else 0 end) as inconsistente,
sum(case when registroPonto.status = 'I' then 1 else 0 end) as incorreto,
sum(case when registroPonto.status = 'P' then 1 else 0 end) as periodoAusencia)
from br.com.sintesis.dex.dmn.DexRegistroPontoDmn registroPonto
where registroPonto.data between :dataInicial and :dataFinal
and registroPonto.pessoa.cartao is not null
and registroPonto.pessoa.status = 'A'
and registroPonto.pessoa.departamento.id = :departamentoId
group by registroPonto.pessoa.departamento
Ao tentar executar query.list();
erro que retorna:
java.lang.NullPointerException
at org.hibernate.hql.NameGenerator.generateColumnNames(NameGenerator.java:23)
at org.hibernate.hql.ast.SessionFactoryHelper.generateColumnNames(SessionFactoryHelper.java:208)
at org.hibernate.hql.ast.SelectClause.initializeColumnNames(SelectClause.java:218)
at org.hibernate.hql.ast.SelectClause.finishInitialization(SelectClause.java:208)
at org.hibernate.hql.ast.SelectClause.initializeExplicitSelectClause(SelectClause.java:202)
at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:440)
at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:351)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.afterQuery(HqlSqlBaseWalker.java:126)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:471)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:422)
at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:822)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:782)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at br.com.sintesis.bus.registroPonto.RegistroPontoDao.getRegistroPontoNovo(RegistroPontoDao.java:242)
at br.com.sintesis.bus.registroPonto.RegistroPontoSrv.consultaRegistroStatus(RegistroPontoSrv.java:112)
…
O hibernate tem problemas com case no HQL ?