List of usage examples for javax.persistence.criteria CriteriaBuilder createQuery
<T> CriteriaQuery<T> createQuery(Class<T> resultClass);
CriteriaQuery
object with the specified result type. From source file:net.dontdrinkandroot.persistence.dao.TypedJpaDao.java
@Override @Transactional(propagation = Propagation.MANDATORY, readOnly = true) public List<E> findAll(final SingularAttribute<? super E, ?> attribute, final boolean asc, final int firstResult, final int maxResults) { final CriteriaBuilder builder = this.getCriteriaBuilder(); final CriteriaQuery<E> criteriaQuery = builder.createQuery(this.entityClass); final Root<E> from = criteriaQuery.from(this.entityClass); if (attribute != null) { if (asc) { criteriaQuery.orderBy(builder.asc(from.get(attribute))); } else {//from www . j a va 2 s . c o m criteriaQuery.orderBy(builder.desc(from.get(attribute))); } } return this.find(criteriaQuery, firstResult, maxResults); }
From source file:net.dontdrinkandroot.persistence.dao.TypedJpaDao.java
@Override @Transactional(propagation = Propagation.MANDATORY, readOnly = true) public List<E> findAll(final Collection<PredicateBuilder<E>> filters) { final CriteriaBuilder builder = this.getCriteriaBuilder(); final CriteriaQuery<E> criteriaQuery = builder.createQuery(this.entityClass); final Root<E> from = criteriaQuery.from(this.entityClass); final Predicate[] predicates = new Predicate[filters.size()]; int count = 0; for (final PredicateBuilder<E> filter : filters) { predicates[count] = filter.createPredicate(builder, from); count++;//www . jav a 2 s . co m } criteriaQuery.where(predicates); return this.find(criteriaQuery); }
From source file:net.dontdrinkandroot.persistence.dao.TypedJpaDao.java
@Override @Transactional(propagation = Propagation.MANDATORY, readOnly = true) public List<E> findAll(final PredicateBuilder<E>... filters) { final CriteriaBuilder builder = this.getCriteriaBuilder(); final CriteriaQuery<E> criteriaQuery = builder.createQuery(this.entityClass); final Root<E> from = criteriaQuery.from(this.entityClass); final Predicate[] predicates = new Predicate[filters.length]; int count = 0; for (final PredicateBuilder<E> filter : filters) { predicates[count] = filter.createPredicate(builder, from); count++;/*w w w .jav a 2 s . co m*/ } criteriaQuery.where(predicates); return this.find(criteriaQuery); }
From source file:com.june.app.board.repository.jpa.BoardRepositoryImpl.java
@Override public long boardListCnt(Board vo) { CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); int bbsId = vo.getBbsId(); CriteriaQuery<Long> countQuery = criteriaBuilder.createQuery(Long.class); Root<Board> from = countQuery.from(Board.class); countQuery.select(criteriaBuilder.count(from)); if (bbsId > 0) { countQuery.where(criteriaBuilder.equal(from.get("bbsId"), bbsId)); }//from w w w .j av a 2s . c o m Long count = em.createQuery(countQuery).getSingleResult(); return count; }
From source file:net.groupbuy.dao.impl.CouponCodeDaoImpl.java
public Long count(Coupon coupon, Member member, Boolean hasBegun, Boolean hasExpired, Boolean isUsed) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<CouponCode> criteriaQuery = criteriaBuilder.createQuery(CouponCode.class); Root<CouponCode> root = criteriaQuery.from(CouponCode.class); criteriaQuery.select(root);// ww w. jav a 2s .c o m Predicate restrictions = criteriaBuilder.conjunction(); Path<Coupon> couponPath = root.get("coupon"); if (coupon != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(couponPath, coupon)); } if (member != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("member"), member)); } if (hasBegun != null) { if (hasBegun) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(couponPath.get("beginDate").isNull(), criteriaBuilder.lessThanOrEqualTo(couponPath.<Date>get("beginDate"), new Date()))); } else { restrictions = criteriaBuilder.and(restrictions, couponPath.get("beginDate").isNotNull(), criteriaBuilder.greaterThan(couponPath.<Date>get("beginDate"), new Date())); } } if (hasExpired != null) { if (hasExpired) { restrictions = criteriaBuilder.and(restrictions, couponPath.get("endDate").isNotNull(), criteriaBuilder.lessThan(couponPath.<Date>get("endDate"), new Date())); } else { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(couponPath.get("endDate").isNull(), criteriaBuilder.greaterThanOrEqualTo(couponPath.<Date>get("endDate"), new Date()))); } } if (isUsed != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("isUsed"), isUsed)); } criteriaQuery.where(restrictions); return super.count(criteriaQuery, null); }
From source file:se.kth.csc.persist.JPAStore.java
@Override public Queue fetchQueueWithName(String name) { CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Queue> q = cb.createQuery(Queue.class); Root<Queue> queue = q.from(Queue.class); try {// w ww . j a v a2s. co m return entityManager.createQuery(q.select(queue).where(cb.equal(queue.get(Queue_.name), name))) .getSingleResult(); } catch (NoResultException e) { return null; } }
From source file:eu.uqasar.service.ProcessService.java
public List<Process> getAllByAscendingEndDateNameFiltered(ProcessesFilterStructure filter, int first, int count) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Process> criteria = cb.createQuery(Process.class); Root<Process> root = criteria.from(Process.class); List<Predicate> predicates = getFilterPredicates(filter, cb, root); if (!predicates.isEmpty()) { criteria.where(cb.and(predicates.toArray(new Predicate[predicates.size()]))); }//from w w w.j a va2s. c o m criteria.orderBy(cb.asc(root.get(Process_.endDate))); return em.createQuery(criteria).setFirstResult(first).setMaxResults(count).getResultList(); }
From source file:eu.uqasar.service.ProcessService.java
public List<Process> getAllByDescendingEndDateNameFiltered(ProcessesFilterStructure filter, int first, int count) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Process> criteria = cb.createQuery(Process.class); Root<Process> root = criteria.from(Process.class); List<Predicate> predicates = getFilterPredicates(filter, cb, root); if (!predicates.isEmpty()) { criteria.where(cb.and(predicates.toArray(new Predicate[predicates.size()]))); }//www.j a v a2 s . c o m criteria.orderBy(cb.desc(root.get(Process_.endDate))); return em.createQuery(criteria).setFirstResult(first).setMaxResults(count).getResultList(); }
From source file:eu.uqasar.service.ProcessService.java
public List<Process> getAllByDescendingStartDateNameFiltered(ProcessesFilterStructure filter, int first, int count) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Process> criteria = cb.createQuery(Process.class); Root<Process> root = criteria.from(Process.class); List<Predicate> predicates = getFilterPredicates(filter, cb, root); if (!predicates.isEmpty()) { criteria.where(cb.and(predicates.toArray(new Predicate[predicates.size()]))); }//www .j av a 2s.c o m criteria.orderBy(cb.desc(root.get(Process_.startDate))); return em.createQuery(criteria).setFirstResult(first).setMaxResults(count).getResultList(); }
From source file:eu.uqasar.service.ProcessService.java
public List<Process> getAllAscendingStartDateNameFiltered(ProcessesFilterStructure filter, int first, int count) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Process> criteria = cb.createQuery(Process.class); Root<Process> root = criteria.from(Process.class); List<Predicate> predicates = getFilterPredicates(filter, cb, root); if (!predicates.isEmpty()) { criteria.where(cb.and(predicates.toArray(new Predicate[predicates.size()]))); }/*from w w w. j a va 2s . com*/ criteria.orderBy(cb.asc(root.get(Process_.startDate))); return em.createQuery(criteria).setFirstResult(first).setMaxResults(count).getResultList(); }