List of usage examples for org.hibernate.criterion DetachedCriteria getExecutableCriteria
public Criteria getExecutableCriteria(Session session)
From source file:br.ufmg.hc.telessaude.diagnostico.dominio.dao.ExameDAOLocal.java
public List<Exame> consultar(Integer id, String nomePaciente, Date inicio, Date fim) throws DAOException { ArrayList<Criterion> restrict = new ArrayList(); if (id != null) { restrict.add(Restrictions.eq("id", id)); } else {/*w w w . ja va 2s . com*/ if (nomePaciente != null && !nomePaciente.isEmpty()) { restrict.add(Restrictions.ilike("pc.nome", nomePaciente, MatchMode.ANYWHERE)); } if (inicio != null) { restrict.add(Restrictions.ge("datainclusao", inicio)); } if (fim != null) { restrict.add(Restrictions.le("datainclusao", fim)); } } try { final DetachedCriteria crit = DetachedCriteria.forClass(c); final Criteria criteria = crit.getExecutableCriteria(HibernateUtil.currentSession()); crit.createAlias("paciente", "pc"); crit.createAlias("status", "st"); criteria.setProjection(Projections.projectionList().add(Projections.property("id")) .add(Projections.property("pc.nome")).add(Projections.property("pc.datanascimento")) .add(Projections.property("datainclusao")).add(Projections.property("st.nome"))); criteria.addOrder(Order.desc("datainclusao")); for (final Criterion cri : restrict) { criteria.add(cri); } final List<Object[]> arrays = criteria.list(); final List<Exame> exames = new ArrayList<>(); for (Object[] array : arrays) { final Exame exame = new Exame(Integer.parseInt(String.valueOf(array[0]))); exame.setPaciente(new Paciente()); exame.getPaciente().setNome(String.valueOf(array[1])); exame.getPaciente().setDatanascimento((Date) array[2]); exame.setDatainclusao((Date) array[3]); exame.setStatus(new Status()); exame.getStatus().setNome(String.valueOf(array[4])); exames.add(exame); } return exames; } catch (HibernateException ex) { throw new DAOException(ex.getMessage()); } }
From source file:br.ufmg.hc.telessaude.diagnostico.dominio.dao.LaudoDAOLocal.java
@Override public List<Laudo> consultarPorIdExame(Integer id) throws DAOException { try {/*from w ww .jav a 2 s . c o m*/ final DetachedCriteria crit = DetachedCriteria.forClass(c); final Criteria criteria = crit.getExecutableCriteria(HibernateUtil.currentSession()); criteria.setProjection(Projections.projectionList().add(Projections.property("id")) .add(Projections.property("datainicio")).add(Projections.property("conteudo"))); criteria.add(Restrictions.eq("exame.id", id)); final List<Object[]> arrays = criteria.list(); final List<Laudo> laudos = new ArrayList(); for (Object[] array : arrays) { final Laudo laudo = new Laudo(Integer.parseInt(String.valueOf(array[0]))); laudo.setDatainicio((Date) array[1]); laudo.setConteudo(array[2].toString()); laudos.add(laudo); } return laudos; } catch (HibernateException ex) { throw new DAOException(ex.getMessage()); } }
From source file:chiron.maxscore.dao.impl.BaseDAOImpl.java
/** * /*from w w w . ja v a 2 s .c om*/ * * @param start ? * @param limit ? * @param criteria ? * @return List */ @Override public List<E> search(int start, int limit, DetachedCriteria criteria) { Session session = sessionFactory.getCurrentSession(); return criteria.getExecutableCriteria(session).setFirstResult(start).setMaxResults(limit).list(); }
From source file:cn.net.withub.demo.bootsec.hello.dao.impl.BaseDAOImpl.java
@Override public int count(DetachedCriteria criteria) { Session session = currentSession();/*w ww.j av a 2s .c o m*/ return ((Number) criteria.getExecutableCriteria(session).setProjection(Projections.rowCount())).intValue(); }
From source file:cn.net.withub.demo.bootsec.hello.dao.impl.BaseDAOImpl.java
@Override public List<E> search(DetachedCriteria criteria, int start, int limit) { Session session = currentSession();//from w w w . j ava 2 s . c om return criteria.getExecutableCriteria(session).setFirstResult(start).setMaxResults(limit).list(); }
From source file:cn.trymore.core.dao.impl.DAOGenericImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public PaginationSupport<T> findPageByCriteria(final DetachedCriteria criteria, final int pageSize, final int startIndex, final boolean dataFilter) throws DAOException { if (dataFilter && UtilString.isNotEmpty(this.getQueryFilter())) { criteria.add(Restrictions.sqlRestriction(this.getQueryFilter())); this.setQueryFilter(null); }//from www . j a v a 2 s.com return (PaginationSupport<T>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria execCriteria = criteria.getExecutableCriteria(session); int rowCount = ((Integer) execCriteria.setProjection(Projections.rowCount()).uniqueResult()) .intValue(); execCriteria.setProjection(null); execCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); //execCriteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY); execCriteria.setFirstResult(startIndex); if (pageSize > 0) { execCriteria.setMaxResults(pageSize); } else { execCriteria.setMaxResults(rowCount); } List<T> items = execCriteria.list(); return rowCount > 0 ? new PaginationSupport<T>(items, rowCount, startIndex, pageSize > 0 ? pageSize : rowCount) : null; } }); }
From source file:com.aistor.common.persistence.BaseDaoImpl.java
License:Open Source License
/** * // w w w . j ava2 s .c om * @param detachedCriteria * @param page * @return */ @SuppressWarnings("unchecked") public Page<T> find(Page<T> page, DetachedCriteria detachedCriteria) { // get count if (!page.isDisabled() && !page.isNotCount()) { page.setCount(count(detachedCriteria)); if (page.getCount() < 1) { return page; } } Criteria criteria = detachedCriteria.getExecutableCriteria(getSession()); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // set page if (!page.isDisabled()) { criteria.setFirstResult(page.getFirstResult()); criteria.setMaxResults(page.getMaxResults()); } // order by if (StringUtils.isNotBlank(page.getOrderBy())) { for (String order : StringUtils.split(page.getOrderBy(), ",")) { String[] o = StringUtils.split(order, " "); if (o.length == 1) { criteria.addOrder(Order.asc(o[0])); } else if (o.length == 2) { if ("DESC".equals(o[1].toUpperCase())) { criteria.addOrder(Order.desc(o[0])); } else { criteria.addOrder(Order.asc(o[0])); } } } } page.setList(criteria.list()); return page; }
From source file:com.aistor.common.persistence.BaseDaoImpl.java
License:Open Source License
/** * //from w w w . j a v a 2 s . c o m * @param detachedCriteria * @return */ @SuppressWarnings("unchecked") public List<T> find(DetachedCriteria detachedCriteria) { Criteria criteria = detachedCriteria.getExecutableCriteria(getSession()); criteria.setResultTransformer(Criteria.ROOT_ENTITY); return criteria.list(); }
From source file:com.evolveum.midpoint.repo.sql.query.custom.ShadowQueryWithDisjunction.java
License:Apache License
@Override public RQuery createQuery(ObjectQuery objectQuery, Class<? extends ObjectType> type, Collection<SelectorOptions<GetOperationOptions>> options, boolean countingObjects, Session session) { DetachedCriteria c1 = DetachedCriteria.forClass(ClassMapper.getHQLTypeClass(ShadowType.class), "s"); c1.createCriteria("strings", "s1", JoinType.LEFT_OUTER_JOIN); ParsedQuery parsedQuery = parse(objectQuery); Conjunction conjunction = Restrictions.conjunction(); conjunction/* w ww . java 2 s . c om*/ .add(Restrictions.eq("resourceRef.targetOid", parsedQuery.refFilter.getValues().get(0).getOid())); Disjunction disjunction = Restrictions.disjunction(); disjunction.add(createAttributeEq(parsedQuery.eqUidFilter, parsedQuery.eqUidFilter.getPath().lastNamed().getName())); disjunction.add(createAttributeEq(parsedQuery.eqNameFilter, SchemaConstantsGenerated.ICF_S_NAME)); conjunction.add(disjunction); c1.add(conjunction); if (countingObjects) { c1.setProjection(Projections.countDistinct("s.oid")); return new RQueryCriteriaImpl(c1.getExecutableCriteria(session)); } c1.setProjection(Projections.distinct(Projections.property("s.oid"))); Criteria cMain = session.createCriteria(ClassMapper.getHQLTypeClass(ShadowType.class), "o"); cMain.add(Subqueries.propertyIn("oid", c1)); if (objectQuery != null && objectQuery.getPaging() != null) { cMain = updatePagingAndSorting(cMain, type, objectQuery.getPaging()); } ProjectionList projections = Projections.projectionList(); projections.add(Projections.property("fullObject")); projections.add(Projections.property("stringsCount")); projections.add(Projections.property("longsCount")); projections.add(Projections.property("datesCount")); projections.add(Projections.property("referencesCount")); projections.add(Projections.property("polysCount")); projections.add(Projections.property("booleansCount")); cMain.setProjection(projections); cMain.setResultTransformer(GetObjectResult.RESULT_TRANSFORMER); return new RQueryCriteriaImpl(cMain); }
From source file:com.griffinslogistics.bookspackage.BookspackageDAO.java
@Override public List getAllByDetachedCriteria(DetachedCriteria criteria) { List results = criteria.getExecutableCriteria(this.sessionFactory.getCurrentSession()).list(); return results; }