Example usage for org.hibernate.criterion DetachedCriteria getExecutableCriteria

List of usage examples for org.hibernate.criterion DetachedCriteria getExecutableCriteria

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria getExecutableCriteria.

Prototype

public Criteria getExecutableCriteria(Session session) 

Source Link

Document

Get an executable instance of Criteria to actually run the query.

Usage

From source file:org.workin.persistence.hibernate.v4.dao.Hibernate4PersistenceDaoImpl.java

License:Apache License

@SuppressWarnings("unchecked")
@Override/*from   w  w w.j a  va 2s .  c o  m*/
public T findUniqueByCriteria(final DetachedCriteria criteria) {
    Criteria executableCriteria = criteria.getExecutableCriteria(getCurrentSession());
    return (T) executableCriteria.uniqueResult();
}

From source file:org.workin.persistence.hibernate.v4.dao.Hibernate4PersistenceDaoImpl.java

License:Apache License

@SuppressWarnings("unchecked")
@Override//w ww  .  j av a2s  .  co  m
public List<T> findByCriteria(DetachedCriteria criteria, int start, int maxRows) {
    Criteria executableCriteria = criteria.getExecutableCriteria(getCurrentSession());
    setOffsetCriteria(executableCriteria, start, maxRows);
    return executableCriteria.list();
}

From source file:org.workin.persistence.hibernate.v4.dao.Hibernate4PersistenceDaoImpl.java

License:Apache License

@Override
public long countByCriteria(final DetachedCriteria criteria, final boolean distinct) {
    if (distinct)
        criteria.setProjection(Projections.distinct(Projections.rowCount()));
    else//from   w  w  w . j  av a 2s  .  com
        criteria.setProjection(Projections.rowCount());

    Criteria executableCriteria = criteria.getExecutableCriteria(getCurrentSession());
    return (Long) executableCriteria.uniqueResult();
}

From source file:org.xchain.namespaces.hibernate.test.TestCriteriaEntityPermission.java

License:Apache License

private List<?> list(DetachedCriteria criteria) {
    Session session = HibernateLifecycle.getCurrentSession();
    List<?> results = null;
    if (session.getTransaction() == null || !session.getTransaction().isActive()) {
        session.beginTransaction();//from w  w  w. j ava 2 s  .c  om
        results = criteria.getExecutableCriteria(session).list();
        session.getTransaction().commit();
    }
    return results;
}

From source file:org.youi.framework.core.dao.hibernate.BaseDaoHibernate.java

License:Apache License

/**
 * //from   w  w w .ja va  2  s  .c  o m
 * 
 * @param conditions
 *            ??
 * @param aliasMap
 *            ?
 * @param orders
 *            ?
 * @return
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public List<T> commonQuery(final Collection<Condition> conditions, final Collection<Order> orders) {
    final DetachedCriteria detachedCriteria = this.getDetachedCriteria(getModelClazz());
    HibernateCallback hibernateCallback = new HibernateCallback() {
        @Override
        public Object doInHibernate(Session session) throws HibernateException {
            Criteria criteria = detachedCriteria.getExecutableCriteria(session);// sessioncriteria
            Object[] result = generateQueryExpression(conditions, criteria);// ??
            criteria = (Criteria) result[0];
            //???
            criteria = generateOrderExpression(orders, result);// ??
            return criteria.list();
        }
    };

    List list = (List) getHibernateTemplate().executeWithNativeSession(hibernateCallback);
    return this.getResultList(list);
}

From source file:org.youi.framework.core.dao.hibernate.BaseDaoHibernate.java

License:Apache License

/**
 * //www.  jav a2s  . c  o m
 * ??????
 * @param pager
 * @param conditions
 * @param orders
 * @return
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public PagerRecords findByPager(final Pager pager, //?
        final Collection<Condition> conditions, //?
        final Collection<Order> orders) {//??
    //
    final DetachedCriteria detachedCriteria = getDetachedCriteria(getModelClazz());
    HibernateCallback hibernateCallback = new HibernateCallback() {
        @Override
        public Object doInHibernate(Session session) throws HibernateException {
            Criteria criteria = detachedCriteria.getExecutableCriteria(session);// sessioncriteria
            int pageType = pager.getPageType(), totalCount = 0;
            List list = new ArrayList();
            //??
            Object[] result = generateQueryExpression(conditions, criteria);// ??
            criteria = (Criteria) result[0];

            //
            if (pageType == Pager.QUERY_TYPE_ALL || pageType == Pager.QUERY_TYPE_COUNT) {
                try {
                    totalCount = ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult())
                            .intValue();// 
                } catch (RuntimeException e) {
                    logger.error(e.getMessage());
                }
                criteria.setProjection(null);
                pager.setCounts(totalCount);//
            }

            //
            if (pageType == Pager.QUERY_TYPE_ALL || pageType == Pager.QUERY_TYPE_LIST) {
                criteria = generateOrderExpression(orders, result);// ??
                if (pager.getPageSize() != -1)
                    criteria = criteria.setFirstResult(pager.getStartIndex())
                            .setMaxResults(pager.getPageSize());// ?
                list = criteria.list();
            }
            //???

            return getCriteriaResult(list, totalCount, pager);
        }
    };
    return (PagerRecords) getHibernateTemplate().executeWithNativeSession(hibernateCallback);
}

From source file:org.zanata.model.validator.UniqueValidator.java

License:Open Source License

private int countRows(Object value) {
    // we need to use entityManager.unwrap because  injected session will
    // be a weld proxy and criteria.getExecutableCriteria method will try
    // to cast it to SessionImplementor (ClassCastException)
    Session session = entityManager.unwrap(Session.class);
    ClassMetadata metadata = session.getSessionFactory().getClassMetadata(value.getClass());
    String idName = metadata.getIdentifierPropertyName();
    // FIXME was EntityMode.POJO
    Serializable id = metadata.getIdentifier(value, null);

    DetachedCriteria criteria = DetachedCriteria.forClass(value.getClass());
    for (String property : parameters.properties()) {
        // FIXME was EntityMode.POJO
        criteria.add(Restrictions.eq(property, metadata.getPropertyValue(value, property)));
    }/*w w w.  j av a  2  s.c  o m*/

    // Id property
    if (id != null) {
        criteria.add(Restrictions.ne(idName, id));
    }
    criteria.setProjection(Projections.rowCount());

    // change the flush mode temporarily to perform the query or else
    // incomplete entities will try to get flushed
    // After the query, go back to the original mode
    FlushMode flushMode = session.getFlushMode();
    session.setFlushMode(FlushMode.MANUAL);
    List results = criteria.getExecutableCriteria(session).list();
    Number count = (Number) results.iterator().next();
    session.setFlushMode(flushMode);
    return count.intValue();
}

From source file:pl.touk.wonderfulsecurity.dao.WsecBaseDaoImpl.java

License:Apache License

public int fetchCount(final Map<String, ?> queryParameters, final Class clazz) {
    checkIsBeanMapped(clazz);/*from   w w w.  j a  v a2  s .co m*/
    Object o = getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            DetachedCriteria criteria = buildCriteriaFromMapOfParameters(queryParameters, clazz);
            criteria.setProjection(Projections.rowCount());
            return criteria.getExecutableCriteria(session).uniqueResult();
        }
    });

    return o != null ? ((Number) o).intValue() : 0;
}

From source file:pl.touk.wonderfulsecurity.dao.WsecBaseDaoImpl.java

License:Apache License

public <E> ArrayList<E> fetchList(final Map<String, ?> queryParameters, final String sortColumn,
        final Boolean desc, final Class<E> clazz) {
    {//from   ww w  . j a  va 2s.c om
        checkIsBeanMapped(clazz);
        ArrayList<E> list = new ArrayList<E>(
                (Collection<E>) getHibernateTemplate().execute(new HibernateCallback() {

                    public Object doInHibernate(Session session) throws HibernateException, SQLException {
                        DetachedCriteria detachedCriteria = buildCriteriaFromMapOfParameters(queryParameters,
                                clazz);
                        Criteria criteria = detachedCriteria.getExecutableCriteria(session);
                        applySorting(criteria, sortColumn, desc);
                        return criteria.list();
                    }
                }));

        return list != null ? list : new ArrayList();
    }

}

From source file:pl.touk.wonderfulsecurity.dao.WsecBaseDaoImpl.java

License:Apache License

public <E> ArrayList<E> fetchPagedList(final Map<String, ?> queryParameters, final Integer offset,
        final Integer howMany, final String sortColumn, final Boolean desc, final Class<E> clazz) {
    checkIsBeanMapped(clazz);/*from w w  w  . j a  v  a 2s.com*/
    ArrayList<E> list = (ArrayList<E>) getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            DetachedCriteria detachedCriteria = buildCriteriaFromMapOfParameters(queryParameters, clazz);
            Criteria criteria = detachedCriteria.getExecutableCriteria(session);
            applySortingOffSetAndLimit(criteria, offset, howMany, sortColumn, desc);
            return criteria.list();
        }
    });

    return list != null ? list : new ArrayList();
}