List of usage examples for javax.persistence.criteria Root get
<Y> Path<Y> get(SingularAttribute<? super X, Y> attribute);
From source file:com.aimdek.ccm.dao.impl.TransactionRepositoryImpl.java
/** * Adds the sorting./*w w w . ja va 2 s .c o m*/ * * @param sortField * the sort field * @param sortOrder * the sort order * @param query * the query * @param builder * the builder * @param root * the root */ private void addSorting(String sortField, String sortOrder, CriteriaQuery query, CriteriaBuilder builder, Root<Transaction> root) { if (CommonUtil.isNotNull(sortField)) { if (sortOrder.startsWith(SORT_ORDER_ASCENDING)) { query.orderBy(builder.asc(root.get(sortField))); } else { query.orderBy(builder.desc(root.get(sortField))); } } }
From source file:net.groupbuy.dao.impl.ProductNotifyDaoImpl.java
public Long count(Member member, Boolean isMarketable, Boolean isOutOfStock, Boolean hasSent) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<ProductNotify> criteriaQuery = criteriaBuilder.createQuery(ProductNotify.class); Root<ProductNotify> root = criteriaQuery.from(ProductNotify.class); criteriaQuery.select(root);//from w w w . j a va 2s. c o m Predicate restrictions = criteriaBuilder.conjunction(); if (member != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("member"), member)); } if (isMarketable != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("product").get("isMarketable"), isMarketable)); } if (isOutOfStock != null) { Path<Integer> stock = root.get("product").get("stock"); Path<Integer> allocatedStock = root.get("product").get("allocatedStock"); if (isOutOfStock) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.isNotNull(stock), criteriaBuilder.lessThanOrEqualTo(stock, allocatedStock)); } else { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(criteriaBuilder.isNull(stock), criteriaBuilder.greaterThan(stock, allocatedStock))); } } if (hasSent != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("hasSent"), hasSent)); } criteriaQuery.where(restrictions); return super.count(criteriaQuery, null); }
From source file:net.groupbuy.dao.impl.ProductNotifyDaoImpl.java
public Page<ProductNotify> findPage(Member member, Boolean isMarketable, Boolean isOutOfStock, Boolean hasSent, Pageable pageable) {//from ww w . j ava2 s.c om CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<ProductNotify> criteriaQuery = criteriaBuilder.createQuery(ProductNotify.class); Root<ProductNotify> root = criteriaQuery.from(ProductNotify.class); criteriaQuery.select(root); Predicate restrictions = criteriaBuilder.conjunction(); if (member != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("member"), member)); } if (isMarketable != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("product").get("isMarketable"), isMarketable)); } if (isOutOfStock != null) { Path<Integer> stock = root.get("product").get("stock"); Path<Integer> allocatedStock = root.get("product").get("allocatedStock"); if (isOutOfStock) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.isNotNull(stock), criteriaBuilder.lessThanOrEqualTo(stock, allocatedStock)); } else { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(criteriaBuilder.isNull(stock), criteriaBuilder.greaterThan(stock, allocatedStock))); } } if (hasSent != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("hasSent"), hasSent)); } criteriaQuery.where(restrictions); return super.findPage(criteriaQuery, pageable); }
From source file:com.sfs.captor.controller.ProductReleaseAction.java
/** * load product releases/*from w w w. j a v a 2s.c o m*/ */ private void loadList() { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<ProductRelease> c = cb.createQuery(ProductRelease.class); Root<ProductRelease> obj = c.from(ProductRelease.class); c.select(obj).where(cb.equal(obj.get("project"), this.project)).orderBy(cb.asc(obj.get("id"))); this.productReleases = em.createQuery(c).getResultList(); }
From source file:net.groupbuy.dao.impl.MessageDaoImpl.java
public Page<Message> findPage(Member member, Pageable pageable) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Message> criteriaQuery = criteriaBuilder.createQuery(Message.class); Root<Message> root = criteriaQuery.from(Message.class); criteriaQuery.select(root);/*from w w w. j a va2s . c o m*/ Predicate restrictions = criteriaBuilder.conjunction(); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.isNull(root.get("forMessage")), criteriaBuilder.equal(root.get("isDraft"), false)); if (member != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or( criteriaBuilder.and(criteriaBuilder.equal(root.get("sender"), member), criteriaBuilder.equal(root.get("senderDelete"), false)), criteriaBuilder.and(criteriaBuilder.equal(root.get("receiver"), member), criteriaBuilder.equal(root.get("receiverDelete"), false)))); } else { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or( criteriaBuilder.and(criteriaBuilder.isNull(root.get("sender")), criteriaBuilder.equal(root.get("senderDelete"), false)), criteriaBuilder.and(criteriaBuilder.isNull(root.get("receiver")), criteriaBuilder.equal(root.get("receiverDelete"), false)))); } criteriaQuery.where(restrictions); return super.findPage(criteriaQuery, pageable); }
From source file:com.aimdek.ccm.dao.impl.test.UsersDaoImplTest.java
/** * Test retrieve limited user./*from w w w . ja va 2s .c om*/ */ @Test public void testRetrieveLimitedUser() { int limit = 10; int start = 5; CriteriaBuilder builder = entityManager.getCriteriaBuilder(); CriteriaQuery<User> query = builder.createQuery(User.class); Root<User> root = query.from(User.class); query.where(builder.equal(root.get(FIELDCONSTANT_USER_ROLE), ROLE_CUSTOMER)); List<User> user = entityManager.createQuery(query).setFirstResult(start).setMaxResults(limit) .getResultList(); assertEquals(user.size(), 5); }
From source file:eu.uqasar.service.ProductService.java
private List<Predicate> getFilterPredicates(final ProductFilterStructure filter, CriteriaBuilder cb, Root<Product> from) { List<Predicate> predicates = new ArrayList<>(); if (filter == null) { return predicates; }//from w ww . j a v a 2s. co m if (filter.getReleaseDate() != null) { predicates.add(cb.equal(from.get(Product_.releaseDate), filter.getReleaseDate())); } if (filter.getVersion() != null) { predicates.add(cb.equal(from.get(Product_.version), filter.getVersion())); } if (!StringUtils.isEmpty(filter.getName())) { Predicate firstName = cb.like(cb.lower(from.get(Product_.name)), LIKE_WILDCARD + filter.getName().toLowerCase() + LIKE_WILDCARD); predicates.add(firstName); } return predicates; }
From source file:com.expressui.sample.view.opportunity.OpportunityQuery.java
@Override public List<Predicate> buildCriteria(CriteriaBuilder builder, Root<Opportunity> rootEntity) { List<Predicate> criteria = new ArrayList<Predicate>(); if (!isEmpty(accountName)) { ParameterExpression<String> p = builder.parameter(String.class, "accountName"); criteria.add(builder.like(builder.upper(rootEntity.get("account").<String>get("name")), p)); }/*from w w w.j a v a2s . c o m*/ if (!isEmpty(salesStages)) { ParameterExpression<Set> p = builder.parameter(Set.class, "salesStages"); criteria.add(builder.in(rootEntity.get("salesStage")).value(p)); } return criteria; }
From source file:$.MemberDaoImpl.java
public Member findByEmail(String email) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Member> criteria = cb.createQuery(Member.class); Root<Member> member = criteria.from(Member.class); /*//from w w w. ja v a2 s .c o m * Swap criteria statements if you would like to try out type-safe criteria queries, a new * feature in JPA 2.0 criteria.select(member).orderBy(cb.asc(member.get(Member_.name))); */ criteria.select(member).where(cb.equal(member.get("email"), email)); return em.createQuery(criteria).getSingleResult(); }
From source file:$.MemberDaoImpl.java
public List<Member> findAllOrderedByName() { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Member> criteria = cb.createQuery(Member.class); Root<Member> member = criteria.from(Member.class); /*/* w w w. jav a2s . c om*/ * Swap criteria statements if you would like to try out type-safe criteria queries, a new * feature in JPA 2.0 criteria.select(member).orderBy(cb.asc(member.get(Member_.name))); */ criteria.select(member).orderBy(cb.asc(member.get("name"))); return em.createQuery(criteria).getResultList(); }