×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Java
Posted by: Armando Collazo Amable
Added: Jun 12, 2015 6:26 PM
Modified: Jun 12, 2015 6:30 PM
Views: 51
Tags: java jpa
  1. public List<ControlCardDto> getControlCards(Date from,
  2.             Date to, int[] range) {
  3.  
  4.         CriteriaBuilder cb = em.getCriteriaBuilder();
  5.         CriteriaQuery<ControlCardDto> cq = cb
  6.                 .createQuery(ControlCardDto.class);
  7.  
  8.         Root<MatrizGood> fromMt = cq.from(MatrizGood.class);
  9.         cq.select(cb
  10.                 .construct(
  11.                         ControlCardDto.class,
  12.                         fromMt.get("good"),
  13.                         cb.sum(fromMt.<Integer>get("count"))
  14.                 )
  15.         ).groupBy(fromMt.get("good"));
  16.  
  17.         cq.where(
  18.                 cb.greaterThanOrEqualTo(fromMt.<Date>get("createdDate"), from),
  19.                 cb.lessThanOrEqualTo(fromMt.<Date>get("createdDate"), to)
  20.         );
  21.  
  22.         TypedQuery<ControlCardDto> query = em.createQuery(cq);
  23.         List<ControlCardDto> resultList = query.getResultList();
  24.  
  25.         return resultList;
  26.     }