List of usage examples for org.hibernate.criterion Restrictions disjunction
public static Disjunction disjunction()
From source file:mx.edu.um.mateo.rh.dao.impl.TipoEmpleadoDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)//from w w w . jav a 2 s . c o m public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de tipoEmpleados con params {}", params); if (params == null) { params = new HashMap<>(); } if (!params.containsKey("max")) { params.put("max", 10); } else { params.put("max", Math.min((Integer) params.get("max"), 100)); } if (params.containsKey("pagina")) { Long pagina = (Long) params.get("pagina"); Long offset = (pagina - 1) * (Integer) params.get("max"); params.put("offset", offset.intValue()); } if (!params.containsKey("offset")) { params.put("offset", 0); } Criteria criteria = currentSession().createCriteria(TipoEmpleado.class); Criteria countCriteria = currentSession().createCriteria(TipoEmpleado.class); if (params.containsKey("organizacion")) { criteria.createCriteria("organizacion").add(Restrictions.idEq(params.get("organizacion"))); countCriteria.createCriteria("organizacion").add(Restrictions.idEq(params.get("organizacion"))); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("prefijo", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); countCriteria.add(propiedades); } if (params.containsKey("order")) { String campo = (String) params.get("order"); if (params.get("sort").equals("desc")) { criteria.addOrder(Order.desc(campo)); } else { criteria.addOrder(Order.asc(campo)); } } if (!params.containsKey("reporte")) { criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); } params.put(Constantes.TIPOEMPLEADO_LIST, criteria.list()); countCriteria.setProjection(Projections.rowCount()); try { params.put("cantidad", (Long) countCriteria.list().get(0)); } catch (IndexOutOfBoundsException e) { params.put("cantidad", 0L); } return params; }
From source file:mx.edu.um.mateo.rh.dao.impl.VacacionesEmpleadoDaoHibernate.java
/** * @see mx.edu.um.mateo.rh.dao.VacacionesEmpleadoDao#lista(java.util.Map) *//*from w w w. j av a 2s . com*/ @Override public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de vacacionesEmpleados con params {}", params); if (params == null) { params = new HashMap<>(); } if (!params.containsKey(Constantes.CONTAINSKEY_MAX)) { params.put(Constantes.CONTAINSKEY_MAX, 10); } else { params.put(Constantes.CONTAINSKEY_MAX, Math.min((Integer) params.get(Constantes.CONTAINSKEY_MAX), 100)); } if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) { Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA); Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX); params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue()); } if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) { params.put(Constantes.CONTAINSKEY_OFFSET, 0); } Criteria criteria = currentSession().createCriteria(VacacionesEmpleado.class); Criteria countCriteria = currentSession().createCriteria(VacacionesEmpleado.class); if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) { String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); countCriteria.add(propiedades); } if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) { String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER); if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) { criteria.addOrder(Order.desc(campo)); } else { criteria.addOrder(Order.asc(campo)); } } if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) { criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET)); criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX)); } params.put(Constantes.CONTAINSKEY_VACACIONESEMPLEADO, criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0)); return params; }
From source file:net.databinder.models.hib.CriteriaFilterAndSort.java
License:Open Source License
public void buildUnordered(Criteria criteria) { super.buildUnordered(criteria); Conjunction conj = Restrictions.conjunction(); for (Map.Entry<String, String> entry : (Set<Map.Entry<String, String>>) filterMap.entrySet()) { // System.out.println(String.format("%s\t%s", entry.getKey(), entry.getValue())); String property = entry.getKey(); String value = entry.getValue(); if (value == null) continue; String prop = processProperty(criteria, property); Class clazz = PropertyResolver.getPropertyClass(property, beanClass); if (String.class.isAssignableFrom(clazz)) { String[] items = value.split("\\s+"); for (String item : items) { Disjunction dist = Restrictions.disjunction(); dist.add(Restrictions.ilike(prop, item, MatchMode.ANYWHERE)); conj.add(dist);// w ww . j a va 2 s . c o m } } else if (Number.class.isAssignableFrom(clazz)) { try { Matcher matcher = pattern.matcher(value); if (matcher.matches()) { String qualifier = matcher.group(2); value = matcher.group(4); Number num = convertToNumber(value, clazz); if (">".equals(qualifier)) conj.add(Restrictions.gt(prop, num)); else if ("<".equals(qualifier)) conj.add(Restrictions.lt(prop, num)); else if (">=".equals(qualifier)) conj.add(Restrictions.ge(prop, num)); else if ("<=".equals(qualifier)) conj.add(Restrictions.le(prop, num)); } else conj.add(Restrictions.eq(prop, convertToNumber(value, clazz))); } catch (ConversionException ex) { // ignore filter in this case } } else if (Boolean.class.isAssignableFrom(clazz)) { conj.add(Restrictions.eq(prop, Boolean.parseBoolean(value))); } } criteria.add(conj); }
From source file:net.databinder.models.hib.CriteriaSearchAndSort.java
License:Apache License
public void buildUnordered(Criteria criteria) { super.buildUnordered(criteria); String searchText = (String) searchTextModel.getObject(); if (searchText != null) { String[] items = searchText.split("\\s+"); Conjunction conj = Restrictions.conjunction(); List<String> properties = new ArrayList<String>(); for (String prop : getSearchProperties()) properties.add(processProperty(criteria, prop)); for (String item : items) { Disjunction dist = Restrictions.disjunction(); for (String prop : properties) dist.add(Restrictions.ilike(prop, item, MatchMode.ANYWHERE)); conj.add(dist);/*from w w w .j ava2s .co m*/ } criteria.add(conj); } }
From source file:net.jforum.core.hibernate.PrivateMessageDAO.java
License:Open Source License
/** * @see net.jforum.repository.PrivateMessageRepository#getFromInbox(net.jforum.entities.User) *//*from w ww. j a v a2 s. c o m*/ @SuppressWarnings("unchecked") public List<PrivateMessage> getFromInbox(User user) { return this.session().createCriteria(this.persistClass).add(Restrictions.eq("toUser", user)) .add(Restrictions.disjunction().add(Restrictions.eq("type", PrivateMessageType.NEW)) .add(Restrictions.eq("type", PrivateMessageType.READ)) .add(Restrictions.eq("type", PrivateMessageType.UNREAD))) .setComment("privateMessageDAO.getFromInbox").list(); }
From source file:net.jforum.repository.PrivateMessageDao.java
License:Open Source License
@SuppressWarnings("unchecked") public List<PrivateMessage> getFromInbox(User user) { return session.createCriteria(this.persistClass).add(Restrictions.eq("toUser", user)) .add(Restrictions.disjunction().add(Restrictions.eq("type", PrivateMessageType.NEW)) .add(Restrictions.eq("type", PrivateMessageType.READ)) .add(Restrictions.eq("type", PrivateMessageType.UNREAD))) .setComment("privateMessageDAO.getFromInbox").list(); }
From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java
License:Open Source License
@Override @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) public List<Release> searchReleasesByNameExludingCats(List<String> searchTokens, int limit, Collection<Integer> excludedCategoryIds) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class); if (!searchTokens.isEmpty()) { Disjunction searchOr = Restrictions.disjunction(); for (String searchToken : searchTokens) { searchOr.add(Restrictions.ilike("searchName", searchToken, MatchMode.ANYWHERE)); }/* ww w .j a v a2s . co m*/ criteria.add(searchOr); } if (!excludedCategoryIds.isEmpty()) { criteria.add(Restrictions.not(Restrictions.in("category.id", excludedCategoryIds))); } criteria.setMaxResults(limit); return criteria.list(); }
From source file:net.purnama.pureff.dao.AdjustmentDao.java
public List getAdjustmentList(int itemperpage, int page, String sort, String keyword) { Session session = this.sessionFactory.getCurrentSession(); Criteria c = session.createCriteria(AdjustmentEntity.class); Disjunction disjunction = Restrictions.disjunction(); disjunction.add(Restrictions.like("number", "%" + keyword + "%")); disjunction.add(Restrictions.like("warehouse_code", "%" + keyword + "%")); c.add(disjunction);/*w w w .j a va2 s . c o m*/ if (sort.contains("-")) { c.addOrder(Order.desc(sort.substring(1))); } else { c.addOrder(Order.asc(sort)); } c.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); c.setFirstResult(itemperpage * (page - 1)); c.setMaxResults(itemperpage); return c.list(); }
From source file:net.purnama.pureff.dao.AdjustmentDao.java
public int countAdjustmentList(String keyword) { Session session = this.sessionFactory.getCurrentSession(); Criteria c = session.createCriteria(AdjustmentEntity.class); Disjunction disjunction = Restrictions.disjunction(); disjunction.add(Restrictions.like("number", "%" + keyword + "%")); disjunction.add(Restrictions.like("warehouse_code", "%" + keyword + "%")); c.add(disjunction);// w w w. j ava 2 s . co m c.setProjection(Projections.rowCount()); List result = c.list(); int resultint = Integer.valueOf(result.get(0).toString()); return resultint; }
From source file:net.purnama.pureff.dao.DeliveryDao.java
public List getDeliveryList(int itemperpage, int page, String sort, String keyword) { Session session = this.sessionFactory.getCurrentSession(); Criteria c = session.createCriteria(DeliveryEntity.class); Disjunction disjunction = Restrictions.disjunction(); disjunction.add(Restrictions.like("number", "%" + keyword + "%")); disjunction.add(Restrictions.like("warehouse_code", "%" + keyword + "%")); disjunction.add(Restrictions.like("destination", "%" + keyword + "%")); c.add(disjunction);//from ww w.j a v a 2 s .com if (sort.contains("-")) { c.addOrder(Order.desc(sort.substring(1))); } else { c.addOrder(Order.asc(sort)); } c.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); c.setFirstResult(itemperpage * (page - 1)); c.setMaxResults(itemperpage); return c.list(); }