List of usage examples for javax.persistence.criteria CriteriaQuery select
CriteriaQuery<T> select(Selection<? extends T> selection);
From source file:com.excilys.ebi.sample.jpa.query.benchmark.repository.impl.JPACriteriaRepository.java
@Override public List<Song> getSongsBySameArtistOrderBySongTitle(final Integer songId) { // select s.artist.songs from Song s where s.id=? CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Song> query = builder.createQuery(Song.class); Root<Song> song1 = query.from(Song.class); Join<Artist, Song> artistSongs = song1.join(Song_.artist).join(Artist_.songs); query.select(artistSongs).where(builder.equal(song1.get(Song_.id), songId)) .orderBy(builder.asc(artistSongs.get(Song_.title))); return em.createQuery(query).getResultList(); }
From source file:com.aimdek.ccm.dao.impl.BulkUploadRepositoryImpl.java
/** * {@inheritDoc}// w w w.j av a 2s.c o m */ public long getBulkUploadsCount(Map<String, Object> filters) { CriteriaBuilder builder = entityManager.getCriteriaBuilder(); CriteriaQuery<Long> query = builder.createQuery(Long.class); Root<BulkUpload> root = query.from(BulkUpload.class); query.select(builder.count(root)); addFilterCriteria(filters, builder, root, query); return entityManager.createQuery(query).getSingleResult(); }
From source file:net.dontdrinkandroot.persistence.dao.ExampleGeneratedIdEntityDaoImpl.java
@Override @Transactional(readOnly = true)/*from ww w .java 2s. c o m*/ public ExampleEnum findMaxEnum() { final CriteriaBuilder builder = this.getCriteriaBuilder(); final CriteriaQuery<ExampleEnum> criteriaQuery = builder.createQuery(ExampleEnum.class); final Root<ExampleGeneratedIdEntity> root = criteriaQuery.from(this.entityClass); criteriaQuery.select(root.get(ExampleGeneratedIdEntity_.exampleEnum)); final List<ExampleEnum> enums = this.getEntityManager().createQuery(criteriaQuery).getResultList(); ExampleEnum max = null; for (final ExampleEnum exampleEnum : enums) { if (max == null || exampleEnum.ordinal() > max.ordinal()) { max = exampleEnum; } } return max; }
From source file:net.groupbuy.dao.impl.ArticleDaoImpl.java
public Page<Article> findPage(ArticleCategory articleCategory, List<Tag> tags, Pageable pageable) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Article> criteriaQuery = criteriaBuilder.createQuery(Article.class); Root<Article> root = criteriaQuery.from(Article.class); criteriaQuery.select(root); Predicate restrictions = criteriaBuilder.conjunction(); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("isPublication"), true)); if (articleCategory != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(criteriaBuilder.equal(root.get("articleCategory"), articleCategory), criteriaBuilder.like(root.get("articleCategory").<String>get("treePath"), "%" + ArticleCategory.TREE_PATH_SEPARATOR + articleCategory.getId() + ArticleCategory.TREE_PATH_SEPARATOR + "%"))); }//from w ww . j a v a2 s. c o m if (tags != null && !tags.isEmpty()) { Subquery<Article> subquery = criteriaQuery.subquery(Article.class); Root<Article> subqueryRoot = subquery.from(Article.class); subquery.select(subqueryRoot); subquery.where(criteriaBuilder.equal(subqueryRoot, root), subqueryRoot.join("tags").in(tags)); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.exists(subquery)); } criteriaQuery.where(restrictions); criteriaQuery.orderBy(criteriaBuilder.desc(root.get("isTop"))); return super.findPage(criteriaQuery, pageable); }
From source file:fi.vm.sade.organisaatio.dao.impl.YhteystietoElementtiDAOImpl.java
@Override public List<YhteystietoElementti> findByLisatietoIdAndKentanNimi(String yhteystietojenTyyppiOid, String kentanNimi) {//from www . j a v a 2 s . c o m CriteriaBuilder cb = getEntityManager().getCriteriaBuilder(); CriteriaQuery<YhteystietoElementti> query = cb.createQuery(YhteystietoElementti.class); Root<YhteystietoElementti> root = query.from(YhteystietoElementti.class); query.select(root); Predicate tyyppiEquals = cb.equal(root.get("yhteystietojenTyyppi").get("oid"), yhteystietojenTyyppiOid); Predicate nameEquals = cb.equal(root.get("nimi"), kentanNimi); Predicate whereClause = cb.and(tyyppiEquals, nameEquals); query.where(whereClause); return getEntityManager().createQuery(query).getResultList(); // YhteystietojenTyyppi ytT = yttDao.findBy("oid", yhteystietojenTyyppiOid).get(0); // Query query = getEntityManager().createQuery( // "SELECT ltk FROM YhteystietoElementti ltk " + // "WHERE ltk.yhteystietojenTyyppi.id = :yhteystietojenTyyppiId " + // "AND ltk.nimi = :kentanNimi" // ); // return query // .setParameter("yhteystietojenTyyppiId", ytT.getId()) // .setParameter("kentanNimi", kentanNimi) // .getResultList(); }
From source file:net.groupbuy.dao.impl.ArticleDaoImpl.java
public List<Article> findList(ArticleCategory articleCategory, List<Tag> tags, Integer count, List<Filter> filters, List<Order> orders) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Article> criteriaQuery = criteriaBuilder.createQuery(Article.class); Root<Article> root = criteriaQuery.from(Article.class); criteriaQuery.select(root); Predicate restrictions = criteriaBuilder.conjunction(); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("isPublication"), true)); if (articleCategory != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(criteriaBuilder.equal(root.get("articleCategory"), articleCategory), criteriaBuilder.like(root.get("articleCategory").<String>get("treePath"), "%" + ArticleCategory.TREE_PATH_SEPARATOR + articleCategory.getId() + ArticleCategory.TREE_PATH_SEPARATOR + "%"))); }//from ww w . jav a 2 s . c o m if (tags != null && !tags.isEmpty()) { Subquery<Article> subquery = criteriaQuery.subquery(Article.class); Root<Article> subqueryRoot = subquery.from(Article.class); subquery.select(subqueryRoot); subquery.where(criteriaBuilder.equal(subqueryRoot, root), subqueryRoot.join("tags").in(tags)); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.exists(subquery)); } criteriaQuery.where(restrictions); criteriaQuery.orderBy(criteriaBuilder.desc(root.get("isTop"))); return super.findList(criteriaQuery, null, count, filters, orders); }
From source file:org.eclipse.jubula.client.core.persistence.NodePM.java
/** * @param type/*from ww w. java 2 s . co m*/ * the type of elements to find * @param parentProjectId * ID of the parent project to search in * @param s * The session into which the INodePOs will be loaded. * @return list of param all INodePOs */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static List<? extends INodePO> computeListOfNodes(Class type, Long parentProjectId, EntityManager s) { Assert.isNotNull(type); Assert.isNotNull(s); CriteriaQuery query = s.getCriteriaBuilder().createQuery(); Root from = query.from(type); query.select(from).where(s.getCriteriaBuilder().equal(from.get("hbmParentProjectId"), parentProjectId)); //$NON-NLS-1$ List<INodePO> queryResult = s.createQuery(query).getResultList(); return queryResult; }
From source file:com.moderndrummer.data.MemberDaoImpl.java
@Override public List<Member> findAllOrderedByName() { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Member> criteria = cb.createQuery(Member.class); Root<Member> member = criteria.from(Member.class); criteria.select(member).orderBy(cb.asc(member.get("name"))); return em.createQuery(criteria).getResultList(); }
From source file:net.groupbuy.dao.impl.ArticleDaoImpl.java
public List<Article> findList(ArticleCategory articleCategory, Date beginDate, Date endDate, Integer first, Integer count) {/*from w ww . j a v a 2 s. c o m*/ CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<Article> criteriaQuery = criteriaBuilder.createQuery(Article.class); Root<Article> root = criteriaQuery.from(Article.class); criteriaQuery.select(root); Predicate restrictions = criteriaBuilder.conjunction(); restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.equal(root.get("isPublication"), true)); if (articleCategory != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.or(criteriaBuilder.equal(root.get("articleCategory"), articleCategory), criteriaBuilder.like(root.get("articleCategory").<String>get("treePath"), "%" + ArticleCategory.TREE_PATH_SEPARATOR + articleCategory.getId() + ArticleCategory.TREE_PATH_SEPARATOR + "%"))); } if (beginDate != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.greaterThanOrEqualTo(root.<Date>get("createDate"), beginDate)); } if (endDate != null) { restrictions = criteriaBuilder.and(restrictions, criteriaBuilder.lessThanOrEqualTo(root.<Date>get("createDate"), endDate)); } criteriaQuery.where(restrictions); criteriaQuery.orderBy(criteriaBuilder.desc(root.get("isTop"))); return super.findList(criteriaQuery, first, count, null, null); }
From source file:org.sloth.persistence.impl.ReportDaoImpl.java
@Override public Collection<Report> getByUser(User u) throws NullPointerException, IllegalArgumentException { if (u == null) { throw new NullPointerException(); }/*from w w w. j av a 2 s. c o m*/ if (u.isNew()) { throw new IllegalArgumentException(); } CriteriaBuilder cb = getEntityManager().getCriteriaBuilder(); CriteriaQuery<Report> cq = cb.createQuery(Report.class); Root<Report> r = cq.from(Report.class); cq.select(r).where(cb.equal(r.get(Report_.author), u)); Collection<Report> result = getEntityManager().createQuery(cq).getResultList(); logger.info("Found {} Reports by {}.", result.size(), u); return result; }