Caros,
Estou tentando o seguinte com JPA (Hibernate):
[code]String sql = "select new xpto.Xyz( max(x.data), sum(x.valor), sum(x.desconto) ) from Xyz x "
- “where x.tipo=:tipo group by x.grupo”;
Query query = getEntityManager().createQuery(sql);
query.setParameter("tipo ", tipo );
return query.getResultList();[/code]
[code]@Entity
public class Xyz {
@Id private Integer id;
private Date data;
private Integer valor;
private Integer desconto;
public Xyz() {}
public Xyz(Date data, Integer valor, Integer desconto) {
this.data = data;
this.valor = valor;
this.desconto = desconto;
}
// gets and sets
}[/code]
Só que ele dá o seguinte erro: [color=red]Unable to locate appropriate constructor on class [xpto.Xyz] [select new xpto.Xyz( max(x.data), sum(x.valor), sum(x.desconto) ) from xpto.Xyz x where x.tipo=:tipo group by x.grupo][/color]
Porém, se eu faço sem o MAX e SUM, ele funciona.
Qual a melhor maneira de solucionar isto? Usando SQL nativo? Usar uma outra classe para mapear estes dados?
Lembro que também preciso que os dados de relacionamentos devem vir.
Valeu!!!