Count and add in criteria builder

0

Well this is my query in criteria builder since it is wrongly formulated what I want is to bring the idaprobsum a series of elements after bringing the applications that are with that id after adding the amounts of each

    public  Aprobacion_solicitud verificalistaaprobaciones(Long idaprobsum) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Aprobacion_solicitud> criteria = cb.createQuery(Aprobacion_solicitud.class);
Root<Aprobacion_solicitud> member = criteria.from(Aprobacion_solicitud.class);
        criteria.select(member);
        cb.sum(member.get(Aprobacion_solicitud_.cantidad));
        return em.createQuery(criteria).getSingleResult();
    }
    
asked by francisco ayala 12.09.2018 в 22:03
source

1 answer

0

What I was missing was choosing which idaprobsum would go adding you can select it with a multipleSelect do it this way:

public  Aprobacion_solicitud verificalistaaprobaciones(Long idaprobsum) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Aprobacion_solicitud> criteria = cb.createQuery(Aprobacion_solicitud.class);
Root<Aprobacion_solicitud> member = criteria.from(Aprobacion_solicitud.class);
criteria.select(member);
criteria.multiselect(member.get("idaprobsum"), cb.sum(c.get("cantidad")));
        return em.createQuery(criteria).getSingleResult();
 }
    
answered by 12.09.2018 в 23:13