Example usage for org.hibernate.criterion DetachedCriteria add

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

Introduction

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

Prototype

public DetachedCriteria add(Criterion criterion) 

Source Link

Document

Add a restriction

Usage

From source file:chiron.maxscore.service.impl.RoleServiceImpl.java

private DetachedCriteria makeCriteria(Map<String, Object> condition) {
    DetachedCriteria criteria = DetachedCriteria.forClass(Role.class);

    if (condition == null) {
        return criteria;
    }//  w  ww.ja va 2 s .co  m

    if (condition.containsKey("role_name")) {
        criteria.add(Restrictions.ilike("roleName", condition.get("role_name").toString(), MatchMode.ANYWHERE));
    }

    return criteria;
}

From source file:chiron.maxscore.service.impl.SpecialtyServiceImpl.java

private DetachedCriteria makeCriteria(Map<String, Object> condition) {
    DetachedCriteria criteria = DetachedCriteria.forClass(Specialty.class);

    if (condition == null) {
        return criteria;
    }//from  w ww .  j a  v a2  s. com

    if (condition.containsKey("college_id")) {
        criteria.createAlias("college", "c").add(Restrictions.eq("c.id", condition.get("college_id")));
    }

    if (condition.containsKey("specialty_name")) {
        criteria.add(Restrictions.ilike("specialtyName", condition.get("specialty_name").toString(),
                MatchMode.ANYWHERE));
    }

    return criteria;
}

From source file:chiron.maxscore.service.impl.TeacherServiceImpl.java

private DetachedCriteria makeCriteria(Map<String, Object> condition) {
    DetachedCriteria criteria = DetachedCriteria.forClass(Teacher.class);

    if (condition == null) {
        return criteria;
    }//from   w  w w  . ja v a2 s .c  o  m

    if (condition.containsKey("teacher_name")) {
        criteria.add(Restrictions.ilike("teacherName", condition.get("teacher_name").toString(),
                MatchMode.ANYWHERE));
    }

    return criteria;
}

From source file:cn.trymore.core.dao.impl.DAOGenericImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<T> getAll(final boolean filter) throws DAOException {
    return (List<T>) getHibernateTemplate().execute(new HibernateCallback() {
        @Override//from   w  w w .  ja va 2s. c  o m
        public Object doInHibernate(Session paramSession) throws HibernateException, SQLException {
            DetachedCriteria criteria = DetachedCriteria.forClass(DAOGenericImpl.this.entityClass);

            if (filter && UtilString.isNotEmpty(DAOGenericImpl.this.getQueryFilter())) {
                criteria.add(Restrictions.sqlRestriction(DAOGenericImpl.this.getQueryFilter()));
                DAOGenericImpl.this.setQueryFilter(null);
            }

            return getHibernateTemplate().findByCriteria(criteria);

            // String str = "from " + DAOGenericImpl.this.entityClass.getName();
            //return paramSession.createQuery(str).list();
        }
    });
}

From source file:cn.trymore.core.dao.impl.DAOGenericImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<T> getListByCriteria(final DetachedCriteria criteria, final boolean dataFilter)
        throws DAOException {
    if (dataFilter && UtilString.isNotEmpty(this.getQueryFilter())) {
        criteria.add(Restrictions.sqlRestriction(this.getQueryFilter()));
        this.setQueryFilter(null);
    }//ww w .  j a v a2  s .c  o m
    return (List<T>) getHibernateTemplate().findByCriteria(criteria);
}

From source file:cn.trymore.core.dao.impl.DAOGenericImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<T> getListByCriteria(final DetachedCriteria criteria, int firstResult, int maxResults,
        final boolean dataFilter) throws DAOException {
    if (dataFilter && UtilString.isNotEmpty(this.getQueryFilter())) {
        criteria.add(Restrictions.sqlRestriction(this.getQueryFilter()));
        this.setQueryFilter(null);
    }//from w  w w.  j  a  v  a  2 s .  co  m
    return (List<T>) getHibernateTemplate().findByCriteria(criteria, firstResult, maxResults);
}

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  . c o  m

    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:cn.trymore.core.dao.impl.DAOGenericImpl.java

License:Open Source License

public PaginationSupport<T> queryFieldsListForPaging(final Class<?> objectClass,
        Map<String, List<Object>> params, int pageSize, int startIndex) throws DAOException {

    DetachedCriteria criteria = DetachedCriteria.forClass(objectClass);

    if (params != null && params.size() > 0) {
        for (Map.Entry<String, List<Object>> entry : params.entrySet()) {
            String keyName = entry.getKey();
            List<Object> keyValues = entry.getValue();
            criteria.add(Restrictions.in(keyName, keyValues));
        }/* w w  w.  ja v  a 2s  . c o m*/
    }

    return findPageByCriteria(criteria, pageSize, startIndex);
}

From source file:cn.trymore.core.service.impl.ServiceGenericImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*from  w ww.j  av a2 s . co  m*/
public PaginationSupport<T> getByQuery(final String nativeSql, final PagingBean pagingBean)
        throws ServiceException {
    try {
        Class<T> entityClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass())
                .getActualTypeArguments()[0];

        DetachedCriteria criteria = DetachedCriteria.forClass(entityClass);

        if (UtilString.isNotEmpty(nativeSql)) {
            if (nativeSql.trim().toLowerCase().startsWith("and")) {
                criteria.add(Restrictions.sqlRestriction(nativeSql.toLowerCase().replaceFirst("and", "")));
            } else {
                criteria.add(Restrictions.sqlRestriction(nativeSql));
            }
        }

        return dao.findPageByCriteria(criteria, pagingBean);
    } catch (Exception e) {
        throw new ServiceException(e);
    }
}

From source file:cn.trymore.oa.service.system.impl.ServiceSystemLogImpl.java

License:Open Source License

@Override
public PaginationSupport<ModelSystemLog> getPaginationByEntity(ModelSystemLog entity, PagingBean pagingBean)
        throws ServiceException {
    DetachedCriteria criteria = DetachedCriteria.forClass(ModelSystemLog.class);

    if (entity != null) {
        if (UtilString.isNotEmpty(entity.getExeOperation())) {
            criteria.add(Restrictions.eq("exeOperation", entity.getExeOperation()));
        }//from  w w w.  j av a 2 s  .  c om

        if (entity.getDistrictId() != null && UtilString.isNotEmpty(entity.getDistrictId())) {
            criteria.createCriteria("user").createCriteria("district")
                    .add(Restrictions.eq("id", entity.getDistrictId()));
        }

        if (entity.getStartTime() != null && UtilString.isNotEmpty(entity.getStartTime())) {
            criteria.add(Restrictions.ge("createtime", entity.getStartTime()));
        }

        if (entity.getEndTime() != null && UtilString.isNotEmpty(entity.getEndTime())) {
            criteria.add(Restrictions.le("createtime", entity.getEndTime()));
        }
    }

    // added by Jeccy.Zhao on 14/10/2012
    criteria.addOrder(Order.desc("createtime"));

    return this.getAll(criteria, pagingBean);
}