List of usage examples for org.hibernate.criterion Restrictions or
public static LogicalExpression or(Criterion lhs, Criterion rhs)
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; }