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 LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

From source file:com.abiquo.server.core.infrastructure.network.VLANNetworkDAO.java

License:Open Source License

public List<VLANNetwork> findPublicVLANNetworksByDatacenter(final Datacenter datacenter,
        final NetworkType netType) {

    Criterion inNetwork = Restrictions.eq(VLANNetwork.NETWORK_PROPERTY, datacenter.getNetwork());
    Criteria criteria = getSession().createCriteria(VLANNetwork.class).add(inNetwork);
    if (netType != null) {
        if (netType.equals(NetworkType.PUBLIC)) {

            criteria.add(Restrictions.eq(VLANNetwork.TYPE_PROPERTY, NetworkType.PUBLIC));
            // criteria.add(Restrictions.isNull(VLANNetwork.ENTERPRISE_PROPERTY));
        } else if (netType.equals(NetworkType.EXTERNAL_UNMANAGED)) {
            criteria.add(Restrictions.or(Restrictions.eq(VLANNetwork.TYPE_PROPERTY, NetworkType.EXTERNAL),
                    Restrictions.eq(VLANNetwork.TYPE_PROPERTY, NetworkType.UNMANAGED)));
            // criteria.add(Restrictions.isNotNull(VLANNetwork.ENTERPRISE_PROPERTY));
        } else if (netType.equals(NetworkType.EXTERNAL)) {
            criteria.add(Restrictions.eq(VLANNetwork.TYPE_PROPERTY, NetworkType.EXTERNAL));
            // criteria.add(Restrictions.isNotNull(VLANNetwork.ENTERPRISE_PROPERTY));
        } else if (netType.equals(NetworkType.UNMANAGED)) {
            criteria.add(Restrictions.eq(VLANNetwork.TYPE_PROPERTY, NetworkType.UNMANAGED));
        } else if (netType.equals(NetworkType.INTERNAL)) {
            criteria.add(Restrictions.eq(VLANNetwork.TYPE_PROPERTY, NetworkType.INTERNAL));
            // criteria.add(Restrictions.isNotNull(VLANNetwork.ENTERPRISE_PROPERTY));
        }//from  ww w.j a  v a  2s.c om
    }

    return criteria.list();
}

From source file:com.abssh.util.GenericDao.java

License:Apache License

@SuppressWarnings("unchecked")
public Page<T> findPageDynamicFetch(final Page<T> page, final List<PropertyFilter> filters,
        final String... lazyObjects) {
    Criteria criteria = getSession().createCriteria(entityClass);
    Map<String, Criteria> criteriaMap = new HashMap<String, Criteria>();
    for (PropertyFilter filter : filters) {
        if (!MatchType.INS.equals(filter.getMatchType())) {
            if (!filter.isMultiProperty()) {
                String propertyName = filter.getPropertyName();
                Object[] propertyValue = filter.getPropertyValue();
                MatchType matchType = filter.getMatchType();
                Criteria parent = findParentCriteria(criteria, propertyName, criteriaMap);
                String[] tmp = StringUtils.split(propertyName, DEF_SEPARATOR);
                parent.add(getCriterion(tmp[tmp.length - 1], propertyValue, matchType));
            } else {
                Disjunction disjunction = Restrictions.disjunction();
                Object[] propertyValue = filter.getPropertyValue();
                MatchType matchType = filter.getMatchType();
                String[] propertyNames = filter.getPropertyNames();
                for (String propertyName : propertyNames) {
                    // Criteria parent = findParentCriteria(criteria,
                    // propertyName, criteriaMap);
                    String[] tmp = StringUtils.split(propertyName, DEF_SEPARATOR);
                    // parent.add(getCriterion(tmp[tmp.length - 1],
                    // propertyValue, matchType));
                    for (int i = 0; i <= tmp.length - 2; i++) {
                        criteria.createAlias(tmp[i], tmp[i], CriteriaSpecification.LEFT_JOIN);
                    }//from   ww w.  j  a  v  a2  s.co m
                    // disjunction.ad
                }
                criteria.add(Restrictions.or(
                        Restrictions.like(propertyNames[0], propertyValue[0].toString(), MatchMode.ANYWHERE),
                        Restrictions.like(propertyNames[1], propertyValue[0].toString(), MatchMode.ANYWHERE)));

                // criteria.add(disjunction);
            }
        } else {
            criteria.add(org.hibernate.criterion.Expression.sql("this_." + filter.getPropertyName() + " in "
                    + String.valueOf(filter.getPropertyValue()[0])));
        }
    }
    if (lazyObjects != null) {
        for (int i = 0; i < lazyObjects.length; i++) {
            criteria.setFetchMode(lazyObjects[i], FetchMode.EAGER);
        }
    }
    if (page != null && page.isAutoCount()) {
        int totalCount = countCriteriaResult(criteria);
        page.setTotalCount(totalCount);
    }
    if (page != null && page.getPageSize() > 0) {
        if (page.getTotalPages() < page.getPageNo()) {
            page.setPageNo(1L);
        }
        criteria.setFirstResult(page.getFirst() - 1);
        criteria.setMaxResults(page.getPageSize());
    }
    if (page != null && page.isOrderBySetted()) {
        String[] orderByArray = StringUtils.split(page.getOrderBy(), ',');
        String[] orderArray = StringUtils.split(page.getOrder(), ',');

        Assert.isTrue(orderByArray.length == orderArray.length, "orderBy and order is not suited!");

        for (int i = 0; i < orderByArray.length; i++) {
            if (orderByArray[i].indexOf(".") > 0) {
                // ???
                if (Page.ASC.equals(orderArray[i])) {
                    Criteria p = criteriaMap
                            .get(orderByArray[i].substring(0, orderByArray[i].lastIndexOf(".")));
                    if (p == null) {
                        p = findParentCriteria(criteria, orderByArray[i], criteriaMap);// ??
                    }
                    p.addOrder(Order.asc(orderByArray[i].substring(orderByArray[i].lastIndexOf(".") + 1)));
                } else {
                    Criteria p = criteriaMap
                            .get(orderByArray[i].substring(0, orderByArray[i].lastIndexOf(".")));
                    if (p == null) {
                        p = findParentCriteria(criteria, orderByArray[i], criteriaMap);// ??
                    }
                    p.addOrder(Order.desc(orderByArray[i].substring(orderByArray[i].lastIndexOf(".") + 1)));
                }
            } else {
                if (Page.ASC.equals(orderArray[i])) {
                    criteria.addOrder(Order.asc(orderByArray[i]));
                } else {
                    criteria.addOrder(Order.desc(orderByArray[i]));
                }
            }
        }
    }

    List result = criteria.list();
    if (page == null) {
        Page p = new Page<T>();
        p.setResult(result);
        p.setTotalCount(result.size());
        p.setPageNo(1L);
        p.setPageSize(result.size());
        return p;
    }
    page.setResult(result);
    return page;
}

From source file:com.apt.facade.StudentFacade.java

public List<Student> getStudentList(StudentFinder finder, int page, int recordPerPage) {
    List<Student> lst = new ArrayList<>();

    Session session = null;//w w  w.ja v  a 2 s.  c om
    Transaction trans = null;

    try {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
        trans = session.beginTransaction();

        Criteria crit = session.createCriteria(Student.class);

        crit.add(Restrictions.sqlRestriction("1=1"));
        if (finder.getStudentId() != null) {
            crit.add(Restrictions.and(Restrictions.eq("studentId", finder.getStudentId())));
        }
        if (finder.getStudentName() != null) {
            crit.add(Restrictions.and(Restrictions.ilike("studentName", "%" + finder.getStudentName() + "%")));
        }
        if (finder.getBatch() != null) {
            crit.createAlias("batch", "a");
            Criterion rest = Restrictions.or(Restrictions.eq("a.batchId", finder.getBatch().getBatchId()),
                    Restrictions.eq("a.batchName", finder.getBatch().getBatchName()));
            crit.add(Restrictions.and(rest));
        }
        crit.setFirstResult((page - 1) * recordPerPage);
        crit.setMaxResults(recordPerPage);
        lst = crit.list();
        trans.commit();

    } catch (Exception e) {
        e.printStackTrace();
        if (trans != null) {
            trans.rollback();
        }
    } finally {
        if (session != null && session.isConnected()) {
            session.close();
        }
    }

    return lst;
}

From source file:com.apt.facade.StudentFacade.java

public int getNumberStudent(StudentFinder finder) {
    List<Student> lst = new ArrayList<>();

    Session session = null;// ww w  .  j av  a 2 s . c  om
    Transaction trans = null;

    try {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
        trans = session.beginTransaction();

        Criteria crit = session.createCriteria(Student.class);

        crit.add(Restrictions.sqlRestriction("1=1"));
        if (finder.getStudentId() != null) {
            crit.add(Restrictions.and(Restrictions.eq("studentId", finder.getStudentId())));
        }
        if (finder.getStudentName() != null) {
            crit.add(Restrictions.and(Restrictions.ilike("studentName", "%" + finder.getStudentName() + "%")));
        }
        if (finder.getBatch() != null) {
            crit.createAlias("batch", "a");
            Criterion rest = Restrictions.or(Restrictions.eq("a.batchId", finder.getBatch().getBatchId()),
                    Restrictions.eq("a.batchName", finder.getBatch().getBatchName()));
            crit.add(Restrictions.and(rest));
        }

        lst = crit.list();
        trans.commit();

    } catch (Exception e) {
        e.printStackTrace();
        if (trans != null) {
            trans.rollback();
        }
    } finally {
        if (session != null && session.isConnected()) {
            session.close();
        }
    }

    return lst.size();
}

From source file:com.bean.DirectoryTypeBean.java

public List<DirectoryType> getAllDirectoryType() {
    Dao dao = new Dao();
    List<DirectoryType> list = null;
    if (searchkey == null || searchkey.equals(null) || searchkey.equals("")) {
        list = dao.getByCondition(DirectoryType.class, Order.desc("dirtId"));
    } else {//from  w  w w  . ja v a 2 s. c  o  m
        Criterion name = Restrictions.like("dirtName", "%" + searchkey + "%");
        Criterion desc = Restrictions.like("dirtDescription", "%" + searchkey + "%");
        LogicalExpression orExp = Restrictions.or(desc, name);
        list = dao.getByCondition(DirectoryType.class, orExp, Order.desc("dirtId"));
    }
    return list;
}

From source file:com.bean.DistrictBean.java

public List<District> getAllDistrict() {
    Dao dao = new Dao();
    //them dng ny v ch no select ln
    HibernateUtil.getInstance().clear();
    list = null;//from   w w w. j a v a2  s.  c o  m
    if (disSearch == null || disSearch.equals(null) || disSearch.equals("")) {
        list = dao.getByCondition(District.class, Order.desc("distId"));
    } else {
        Criterion name = Restrictions.like("distName", "%" + disSearch + "%");
        Criterion desc = Restrictions.like("distDescription", "%" + disSearch + "%");
        LogicalExpression orExp = Restrictions.or(desc, name);
        list = dao.getByCondition(District.class, orExp, Order.desc("distId"));
    }
    return list;
}

From source file:com.bean.FAQsBean.java

public List<Faqs> getAllFAQs() {
    Dao dao = new Dao();
    List<Faqs> list = null;
    if (faqsSearch == null || faqsSearch.equals("")) {
        list = dao.getByCondition(Faqs.class, Order.desc("faqId"));
    } else {/*ww w  . j a v a 2  s.c  om*/
        Criterion name = Restrictions.like("faqQuestion", "%" + faqsSearch + "%");
        Criterion desc = Restrictions.like("faqQuestion", "%" + faqsSearch + "%");
        LogicalExpression orExp = Restrictions.or(desc, name);
        list = dao.getByCondition(Faqs.class, orExp, Order.desc("faqId"));
    }
    return list;
}

From source file:com.bean.NewFavoritePropertyBean.java

public List<NewFavoritePropertyBean> getAllProvince() {
    Dao dao = new Dao();
    List<NewFavoritePropertyBean> list = null;
    if (getFpsearch() == null || getFpsearch().equals(null) || getFpsearch().equals("")) {
        list = dao.getAll(NewFavoritePropertyBean.class);
    } else {/* w w w.  j  a  v a  2 s . c o m*/
        Criterion name = Restrictions.like("favId", "%" + getFpsearch() + "%");
        Criterion desc = Restrictions.like("property", "" + getFpsearch() + "%");
        LogicalExpression orExp = Restrictions.or(desc, name);
        list = dao.getByCondition(NewFavoritePropertyBean.class, orExp);
    }
    return list;
}

From source file:com.bean.PropertyBean.java

public List<Property> getGenerateList() {
    Dao dao = new Dao();
    HibernateUtil.getInstance().clear();
    if (searchkey == null) {
        searchkey = "";
    }/*  ww  w.  j  a  v a2 s . c om*/
    long idP = 0;
    try {
        idP = Long.parseLong(searchkey);
    } catch (Exception ex) {

    }
    Criterion cTitle = Restrictions.like("proTitle", "%" + searchkey + "%");
    Criterion cUser = Restrictions.eq("users", new Users(searchkey));
    LogicalExpression logic = Restrictions.or(cTitle, cUser);
    if (idP != 0) {
        Criterion cid = Restrictions.eq("proId", idP);
        logic = Restrictions.or(logic, cid);
    }

    Criterion cType = null;
    if (searchtype != null && !searchtype.equals("")) {
        int id = 0;
        try {
            id = Integer.parseInt(searchtype);
            cType = Restrictions.eq("exchangeType", new ExchangeType(id));
        } catch (Exception ex) {
            cType = Restrictions.isNotNull("exchangeType");
        }
    } else {
        cType = Restrictions.isNotNull("exchangeType");
    }
    logic = Restrictions.and(cType, logic);

    Criterion cCat = null;
    if (searchcat != null && !searchcat.equals("")) {
        int id = 0;
        try {
            id = Integer.parseInt(searchcat);
            cCat = Restrictions.eq("propertyType", new PropertyType(id));
            logic = Restrictions.and(logic, cCat);
        } catch (Exception ex) {

        }
    }
    Criterion cPub = null;
    if (searchpub != null && !searchpub.equals("")) {
        boolean id = false;
        try {
            id = Boolean.parseBoolean(searchpub);
            cPub = Restrictions.eq("proPublish", id);
            logic = Restrictions.and(logic, cPub);
        } catch (Exception ex) {
        }
    }
    Criterion cStt = null;
    if (searchStt != null && !searchStt.equals("")) {
        int id;
        try {
            id = Integer.parseInt(searchpub);
            cStt = Restrictions.eq("proStatus", id);
            logic = Restrictions.and(logic, cStt);
        } catch (Exception ex) {
        }
    }
    Order o = Order.desc("proPublishDate");
    listProperty = dao.getByCondition(Property.class, logic, o);
    return listProperty;
}

From source file:com.bean.PropertyTypeBean.java

public List<PropertyType> getPropertyType() {
    Dao dao = new Dao();
    HibernateUtil.getInstance().clear();
    List<PropertyType> list = null;
    if (getPropertytypeSearch() == null || getPropertytypeSearch().equals(null)
            || getPropertytypeSearch().equals("")) {
        list = dao.getByCondition(PropertyType.class, Order.desc("protId"));
    } else {//from   www  .j a  v a  2 s .  co m
        Criterion name = Restrictions.like("protName", "%" + getPropertytypeSearch() + "%");
        Criterion desc = Restrictions.like("protDescription", "%" + getPropertytypeSearch() + "%");
        LogicalExpression orExp = Restrictions.or(desc, name);
        list = dao.getByCondition(PropertyType.class, orExp, Order.desc("protId"));
    }
    return list;
}