Example usage for org.hibernate.criterion Restrictions or

List of usage examples for org.hibernate.criterion Restrictions or

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions or.

Prototype

public static Disjunction or(Criterion... predicates) 

Source Link

Document

Return the disjuction of multiple expressions

Usage

From source file:com.mac.green_leaves.v1.master.MasterRepository.java

public int totalItems(String keyword, Integer branch, Class modelClass) {
    Session session = getSession();//w  w w  . ja  v  a2s. c  o m

    Criteria criteria = session.createCriteria(modelClass);
    if (keyword != null) {
        Field[] fields = modelClass.getDeclaredFields();
        ArrayList<Criterion> criterions = new ArrayList<>();
        for (Field field : fields) {
            if (field.getType().isAssignableFrom(String.class)) {
                criterions.add(Restrictions.ilike(field.getName(), keyword, MatchMode.ANYWHERE));
            }
        }
        criteria.add(Restrictions.or(criterions.toArray(new Criterion[] {})));
    }

    criteria.add(Restrictions.eq("branch", branch));

    criteria.setProjection(Projections.count("indexNo"));
    Integer totalItems = ((Long) criteria.uniqueResult()).intValue();
    return totalItems;
}

From source file:com.quakearts.webapp.hibernate.HibernateBean.java

License:Open Source License

private Criterion handleJunction(Map<String, Serializable> junctionParameters, String type,
        QueryContext context) {//from ww w  . j  av  a  2 s  . com
    ArrayList<Criterion> criteria = null;
    criteria = new ArrayList<>();

    for (Entry<String, Serializable> entry : junctionParameters.entrySet()) {
        criteria.add(handleParameter(entry.getKey(), entry.getValue(), context));
    }

    Criterion[] criteriaArray = criteria.toArray(new Criterion[criteria.size()]);
    if (type == ParameterMapBuilder.CONJUNCTION)
        return (Restrictions.and(criteriaArray));
    else if (type == ParameterMapBuilder.DISJUNCTION)
        return (Restrictions.or(criteriaArray));
    else
        throw new HibernateException("Invalid conjuction type:" + type);
}

From source file:com.ub.hrappub.service.PersonelService.java

@Override
public List<Personel> getAll(String query) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Criteria criteria = session.createCriteria(Personel.class);
    if (query != null) {
        criteria.add(Restrictions.or(Restrictions.ilike("isim", query, MatchMode.ANYWHERE)));
    }//w ww.  j a va 2  s .c  o  m
    criteria.addOrder(Order.asc("id"));
    return criteria.list();
}

From source file:de.appsolve.padelcampus.db.dao.generic.BaseEntityDAO.java

@SuppressWarnings("unchecked")
@Override//from  w  w  w.j  av a  2  s . c  o m
public List<T> findAll(List<Long> ids) {
    Criterion[] criterion = new Criterion[ids.size()];
    for (int i = 0; i < ids.size(); i++) {
        criterion[i] = Restrictions.eq("id", ids.get(i));
    }
    Disjunction or = Restrictions.or(criterion);
    Criteria criteria = getCriteria();
    criteria.add(or);
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    List<T> list = (List<T>) criteria.list();
    sort(list);
    return list;
}

From source file:de.appsolve.padelcampus.db.dao.generic.BaseEntityDAO.java

@Override
public Page<T> findAllByFuzzySearch(String search, Set<Criterion> criterions, String... associations) {
    Criteria criteria = getCriteria();//from   w  w  w.  j a v a 2 s. c om
    for (String association : associations) {
        criteria.setFetchMode(association, FetchMode.JOIN);
    }
    List<Criterion> predicates = new ArrayList<>();
    for (String indexedPropery : getIndexedProperties()) {
        if (!StringUtils.isEmpty(search)) {
            String[] searchTerms = search.split(" ");
            for (String searchTerm : searchTerms) {
                predicates.add(Restrictions.ilike(indexedPropery, searchTerm, MatchMode.ANYWHERE));
            }
        }
    }
    if (!predicates.isEmpty()) {
        criteria.add(Restrictions.or(predicates.toArray(new Criterion[predicates.size()])));
    }
    if (criterions != null) {
        for (Criterion c : criterions) {
            criteria.add(c);
        }
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    @SuppressWarnings("unchecked")
    List<T> objects = criteria.list();
    sort(objects);
    PageImpl<T> page = new PageImpl<>(objects);
    return page;
}