Boa tarde Pessoal!
To tentando fazer uma soma com jpql porem esta com o seguinte erro
ava.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate appropriate constructor on class [br.com.inteligenteweb.grade.relatorio.Margem]. Expected arguments are: java.math.BigDecimal, java.math.BigDecimal [select new br.com.inteligenteweb.grade.relatorio.Margem(p.valor, sum(p.valor) as total) from br.com.inteligenteweb.grade.model.Produto p group by p.fornecedor.id]
no qual esta esperando um bigDecimal, minha class mergem esta assim
package br.com.inteligenteweb.grade.relatorio;
import java.math.BigDecimal;
public class Margem {
private BigDecimal valor;
private BigDecimal total;
public Margem(BigDecimal valor, BigDecimal valorVenda, BigDecimal total){
this.valor = valor;
this.total = total;
}
public BigDecimal getValor() {
return valor;
}
public void setValor(BigDecimal valor) {
this.valor = valor;
}
public BigDecimal getTotal() {
return total;
}
public void setTotal(BigDecimal total) {
this.total = total;
}
}
e meu DAO
@SuppressWarnings("unchecked")
public List<Margem> margem() {
Query query = em.createQuery("select new "
+ Margem.class.getName()
+ "(p.valor, sum(p.valor) as total) "
+ "from Produto p group by p.fornecedor.id");
return query.getResultList();
}
O que fa'co para resolver?