List of usage examples for javax.persistence.criteria CriteriaQuery select
CriteriaQuery<T> select(Selection<? extends T> selection);
From source file:net.groupbuy.dao.impl.OrderDaoImpl.java
public Long waitingPaymentCount(Member member) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Order> criteriaQuery = criteriaBuilder.createQuery(Order.class); Root<Order> root = criteriaQuery.from(Order.class); criteriaQuery.select(root); Predicate restrictions = criteriaBuilder.conjunction(); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.notEqual(root.get("orderStatus"), OrderStatus.completed), criteriaBuilder.notEqual(root.get("orderStatus"), OrderStatus.cancelled)); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(criteriaBuilder.equal(root.get("paymentStatus"), PaymentStatus.unpaid), criteriaBuilder.equal(root.get("paymentStatus"), PaymentStatus.partialPayment))); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(root.get("expire").isNull(), criteriaBuilder.greaterThanOrEqualTo(root.<Date>get("expire"), new Date()))); if (member != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("member"), member)); }/* w w w. ja v a2 s . co m*/ criteriaQuery.where(restrictions); return super.count(criteriaQuery, null); }
From source file:org.broadleafcommerce.openadmin.server.security.dao.AdminPermissionDaoImpl.java
@Override public AdminPermission readAdminPermissionByNameAndType(String name, String type) { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<AdminPermission> criteria = builder.createQuery(AdminPermission.class); Root<AdminPermissionImpl> adminPerm = criteria.from(AdminPermissionImpl.class); criteria.select(adminPerm); List<Predicate> restrictions = new ArrayList<Predicate>(); restrictions.add(builder.equal(adminPerm.get("name"), name)); restrictions.add(builder.equal(adminPerm.get("type"), type)); // Execute the query with the restrictions criteria.where(restrictions.toArray(new Predicate[restrictions.size()])); TypedQuery<AdminPermission> query = em.createQuery(criteria); query.setHint(QueryHints.HINT_CACHEABLE, true); List<AdminPermission> results = query.getResultList(); if (results == null || results.size() == 0) { return null; } else {/*w ww.ja va2 s.co m*/ return results.get(0); } }
From source file:cz.muni.expense.data.UserRepository.java
public User findByUsernameAndPassword(String username, String password) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<User> criteria = cb.createQuery(User.class); Root<User> user = criteria.from(User.class); // Swap criteria statements if you would like to try out type-safe criteria queries, a new // feature in JPA 2.0 //criteria.select(member).where(cb.equal(member.get(Member_.name), email)); criteria.select(user).where(cb.equal(user.get(User_.username), username)); try {/*w w w .j ava 2 s .c om*/ User userToReturn = em.createQuery(criteria).getSingleResult(); String hash = org.apache.commons.codec.digest.DigestUtils.sha256Hex(password); return userToReturn.getPasswdHash().equals(hash) ? userToReturn : null; } catch (NoResultException ex) { return null; } }
From source file:net.groupbuy.dao.impl.OrderDaoImpl.java
public Integer getSalesVolume(Date beginDate, Date endDate) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Integer> criteriaQuery = criteriaBuilder.createQuery(Integer.class); Root<Order> root = criteriaQuery.from(Order.class); criteriaQuery.select(criteriaBuilder.sum(root.join("orderItems").<Integer>get("shippedQuantity"))); Predicate restrictions = criteriaBuilder.conjunction(); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("orderStatus"), OrderStatus.completed)); if (beginDate != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.greaterThanOrEqualTo(root.<Date>get("createDate"), beginDate)); }/* w w w . j a va2s . c om*/ if (endDate != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.lessThanOrEqualTo(root.<Date>get("createDate"), endDate)); } criteriaQuery.where(restrictions); return entityManager.createQuery(criteriaQuery).setFlushMode(FlushModeType.COMMIT).getSingleResult(); }
From source file:org.jasig.portlet.blackboardvcportlet.dao.impl.PresentationDaoImpl.java
@Override public void afterPropertiesSet() throws Exception { this.findAllPresentation = this .createCriteriaQuery(new Function<CriteriaBuilder, CriteriaQuery<PresentationImpl>>() { @Override/*from w w w . ja va 2 s. c om*/ public CriteriaQuery<PresentationImpl> apply(CriteriaBuilder cb) { final CriteriaQuery<PresentationImpl> criteriaQuery = cb .createQuery(PresentationImpl.class); final Root<PresentationImpl> definitionRoot = criteriaQuery.from(PresentationImpl.class); criteriaQuery.select(definitionRoot); return criteriaQuery; } }); }
From source file:de.egore911.persistence.selector.AbstractSelector.java
public long count() { EntityManager em = EntityManagerUtil.getEntityManager(); CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Long> cq = builder.createQuery(Long.class); Root<T> from = cq.from(getEntityClass()); List<Predicate> predicates = generatePredicateList(builder, from, cq); cq.where(predicates.toArray(new Predicate[predicates.size()])); cq.select(builder.count(from)); TypedQuery<Long> q = em.createQuery(cq); return q.getSingleResult(); }
From source file:org.fao.geonet.repository.HarvesterSettingRepositoryOverridesImpl.java
@Override public List<HarvesterSetting> findAllByNames(List<String> names) { CriteriaBuilder criteriaBuilder = _entityManager.getCriteriaBuilder(); CriteriaQuery<HarvesterSetting> query = criteriaBuilder.createQuery(HarvesterSetting.class); Root<HarvesterSetting> root = query.from(HarvesterSetting.class); query.select(root); if (CollectionUtils.isNotEmpty(names)) { query.where(root.get(HarvesterSetting_.name).in(names)); }// www. j a v a2s. c o m return _entityManager.createQuery(query).getResultList(); }
From source file:net.groupbuy.dao.impl.OrderDaoImpl.java
public BigDecimal getSalesAmount(Date beginDate, Date endDate) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<BigDecimal> criteriaQuery = criteriaBuilder.createQuery(BigDecimal.class); Root<Order> root = criteriaQuery.from(Order.class); criteriaQuery.select(criteriaBuilder.sum(root.<BigDecimal>get("amountPaid"))); Predicate restrictions = criteriaBuilder.conjunction(); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("orderStatus"), OrderStatus.completed)); if (beginDate != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.greaterThanOrEqualTo(root.<Date>get("createDate"), beginDate)); }/* ww w . j a v a2 s. co m*/ if (endDate != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.lessThanOrEqualTo(root.<Date>get("createDate"), endDate)); } criteriaQuery.where(restrictions); return entityManager.createQuery(criteriaQuery).setFlushMode(FlushModeType.COMMIT).getSingleResult(); }
From source file:com.home.ln_spring.ch10.service.jpa.ContactServiceImplOld.java
@Override @Transactional(readOnly = true)//from ww w.ja v a2s .c o m public List<Contact> findByCriteriaQuery(String firstName, String lastName) { log.info("Finding contact for firstName: " + firstName + " and lastName: " + lastName); CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Contact> criteriaQuery = cb.createQuery(Contact.class); Root<Contact> contactRoot = criteriaQuery.from(Contact.class); contactRoot.fetch(Contact_.contactTelDetails, JoinType.LEFT); contactRoot.fetch(Contact_.hobbies, JoinType.LEFT); criteriaQuery.select(contactRoot).distinct(true); Predicate criteria = cb.conjunction(); if (firstName != null) { Predicate p = cb.equal(contactRoot.get(Contact_.firstName), firstName); criteria = cb.and(criteria, p); } if (lastName != null) { Predicate p = cb.equal(contactRoot.get(Contact_.lastName), lastName); criteria = cb.and(criteria, p); } criteriaQuery.where(criteria); List<Contact> result = em.createQuery(criteriaQuery).getResultList(); return result; }
From source file:dao.jpa.TestJpaDao.java
@Test @Transactional// w w w.ja va 2s .c om public void testCopy() { EntityManager em = bookDao.getEntityManager(); CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Book> criteria = cb.createQuery(Book.class); // Fetch join Root<Book> root = criteria.from(Book.class); Path<String> path = root.join("author").<String>get("name"); root.fetch("author"); criteria.select(root); // SubQuery Subquery<String> sq = criteria.subquery(String.class); Root<Author> author = sq.from(Author.class); sq.select(author.<String>get("name")); sq.where(cb.equal(author.<String>get("name"), "Rod")); criteria.where(cb.in(path).value(sq)); CriteriaQuery<Book> copy = cb.createQuery(Book.class); JpaUtils.copyCriteria(criteria, copy); List<Book> copyBooks = em.createQuery(copy).getResultList(); List<Book> books = em.createQuery(criteria).getResultList(); assertEquals(books, copyBooks); }