Boa tarde a todos do fórum.
Sou novo na área e como todo novato tem problemas, estou enfrentando alguns em uma consulta a uma tabela.
Estou usando hibernate e realizando consultas JPQL.
Vamos lá
Eu tenho uma tabela chamada performance. Nessa tabela estou adicionando varios registros de usuários
Quando realizo a consulta abaixo, passando como parametro o cod do grupo, consigo ver todos os usuários daquele grupo e agrupando e ordenando.
String jpql = “SELECT p FROM Performance p WHERE p.usuario.grupo.idGrupo = " + id + " GROUP BY p.usuario.idusuario ORDER BY p.captacao desc”;
Porem gostaria de somar alguns campos dessa tabela e refiz a consulta acima da seguinte forma:
jpql = "SELECT new Performance(p.usuario, sum(p.captacao), …)
Sempre que executo essa consulta me retorna o seguinte erro:
Caused by: org.hibernate.hql.ast.QuerySyntaxException: Unable to locate appropriate constructor on class [modelo.Performance] [select new Performance(p.usuario, sum(p.captacao), p.vendas, p.venda_prop, p.ag_vendido, p.tx_conversao, p.tx_conversao_prop, p.venda_real, p.agenciamento, p.placa, p.exclusividade, p.atualizacao, p.dbm, p.proposta, p.falta_plantao, p.falta_reuniao, p.atraso_plantao, p.pontos, p.qualificacao, p.dataReg) from modelo.Performance p where p.usuario.grupo.idGrupo = 1 GROUP BY p.usuario ORDER BY p.captacao desc]
Ja refiz os contrutores da minha classe porem o erro continua. Retirei a função sum() da consulta, executei sem problema. Resolvi testar outras funções como MAX() e MIN() e funcionaram perfeitamente. Já com as Funções AVG e COUNT ocorreu o mesmo erro.
Alguem pode me dar uma luz.
att