List of usage examples for org.hibernate.criterion Restrictions not
public static Criterion not(Criterion expression)
From source file:mx.edu.um.mateo.inventario.dao.impl.EntradaDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*ww w . j av a 2 s. c o m*/ @Transactional(readOnly = true) public List<Entrada> buscaEntradasParaFactura(Map<String, Object> params) { log.debug("Buscando lista de entradas 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("offset")) { params.put("offset", 0); } Criteria criteria = currentSession().createCriteria(Entrada.class); if (params.containsKey("almacen")) { criteria.createCriteria("almacen").add(Restrictions.idEq(params.get("almacen"))); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("comentarios", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); } if (params.containsKey("facturaId")) { Query query = currentSession().createQuery( "select e.id from FacturaAlmacen f inner join f.entradas as e where f.id = :facturaId"); query.setLong("facturaId", (Long) params.get("facturaId")); List<Long> idsDeEntradas = query.list(); log.debug("idsDeEntradas: {}", idsDeEntradas); if (idsDeEntradas != null && idsDeEntradas.size() > 0) { criteria.add(Restrictions.not(Restrictions.in("id", idsDeEntradas))); } } criteria.add(Restrictions.eq("devolucion", Boolean.TRUE)); criteria.createCriteria("estatus").add(Restrictions.eq("nombre", Constantes.CERRADA)); criteria.addOrder(Order.desc("fechaModificacion")); criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); return criteria.list(); }
From source file:mx.edu.um.mateo.inventario.dao.impl.SalidaDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override// ww w . jav a2 s .c om @Transactional(readOnly = true) public List<Salida> buscaSalidasParaFactura(Map<String, Object> params) { log.debug("Buscando lista de salidas 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("offset")) { params.put("offset", 0); } Criteria criteria = currentSession().createCriteria(Salida.class); if (params.containsKey("almacen")) { criteria.createCriteria("almacen").add(Restrictions.idEq(params.get("almacen"))); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("reporte", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("empleado", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("departamento", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("atendio", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("comentarios", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); } if (params.containsKey("facturaId")) { Query query = currentSession().createQuery( "select s.id from FacturaAlmacen f inner join f.salidas as s where f.id = :facturaId"); query.setLong("facturaId", (Long) params.get("facturaId")); List<Long> idsDeSalidas = query.list(); log.debug("idsDeSalidas: {}", idsDeSalidas); if (idsDeSalidas != null && idsDeSalidas.size() > 0) { criteria.add(Restrictions.not(Restrictions.in("id", idsDeSalidas))); } } criteria.createCriteria("estatus").add(Restrictions.eq("nombre", Constantes.CERRADA)); criteria.addOrder(Order.desc("fechaModificacion")); criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); return criteria.list(); }
From source file:mx.edu.um.mateo.rh.dao.impl.SolicitudVacacionesDaoHibernate.java
License:Open Source License
/** * @see//from ww w . j av a 2 s . co m * mx.edu.um.rh.dao.SolicitudVacacionesDao#getSolicitudVacaciones(mx.edu.um.rh.model.SolicitudVacaciones) */ @SuppressWarnings("unchecked") @Override @Transactional(readOnly = true) public List<SolicitudVacaciones> getSolicitudVacacionesByFechaInicial( final SolicitudVacaciones solicitudVacaciones) { Criteria sql = getSession().createCriteria(SolicitudVacaciones.class); ArrayList<String> list = new ArrayList<>(); list.add(Constantes.SOLICITUDSALIDA_STATUS_ACTIVO); list.add(Constantes.SOLICITUDSALIDA_STATUS_ENVIADO); // Not se usa para agregar a la lista culquier cosa que no sea el // parmetro especificado. // In se usa para agregar a la lista culquier cosa que se encuentre en // el list que se pasa como parmetro sql.add(Restrictions.not(Restrictions.in("status", list))); if (solicitudVacaciones.getFechaInicial() != null) { sql.add(Restrictions.ge("fechaInicial", solicitudVacaciones.getFechaInicial())); } if (solicitudVacaciones.getFechaFinal() != null) { sql.add(Restrictions.le("fechaFinal", solicitudVacaciones.getFechaFinal())); } if (!solicitudVacaciones.getStatus().equals(Constantes.SOLICITUDSALIDA_STATUS_TODOS)) { sql.add(Restrictions.like("status", solicitudVacaciones.getStatus())); } sql.addOrder(Order.desc("fechaInicial")); return sql.list(); }
From source file:net.firejack.platform.core.store.AbstractStore.java
License:Apache License
protected Criteria createCriteriaForFilter(Session session, SpecifiedIdsFilter filter) { Criteria criteria = session.createCriteria(getClazz()); if (filter != null) { if (filter.getAll() == Boolean.TRUE) { if (!filter.getUnnecessaryIds().isEmpty()) { criteria.add(Restrictions.not(Restrictions.in("id", filter.getUnnecessaryIds()))); }/* w w w. j a v a 2 s . c om*/ } else { if (!filter.getNecessaryIds().isEmpty()) { criteria.add(Restrictions.in("id", filter.getNecessaryIds())); } } } return criteria; }
From source file:net.firejack.platform.core.store.AbstractStore.java
License:Apache License
protected Criterion createFilterCriterion(SpecifiedIdsFilter filter) { Criterion filterCriterion = null;/*from w ww .j ava 2 s. co m*/ if (filter != null) { if (filter.getAll() == Boolean.TRUE) { if (!filter.getUnnecessaryIds().isEmpty()) { filterCriterion = Restrictions.not(Restrictions.in("id", filter.getUnnecessaryIds())); } } else { if (!filter.getNecessaryIds().isEmpty()) { filterCriterion = Restrictions.in("id", filter.getNecessaryIds()); } } } return filterCriterion; }
From source file:net.firejack.platform.core.store.AbstractStore.java
License:Apache License
protected Criterion getRestrictions(SearchQuery query, Class<?> type) { Criterion criterion;/*from w w w . j a va 2 s . co m*/ Object value = query.getValue(); QueryOperation operation = query.getOperation(); if (value != null && !(QueryOperation.FIELDEQUALS.equals(operation) || QueryOperation.FIELDNOTEQUALS.equals(operation) || QueryOperation.FIELDGREATERTHAN.equals(operation) || QueryOperation.FIELDLESSTHAN.equals(operation))) { if (value instanceof Collection) { Collection values = (Collection) value; if (Integer.class.equals(type)) { List<Integer> list = new ArrayList<Integer>(); for (Object item : values) { list.add(Integer.parseInt(item.toString())); } value = list; } else if (Long.class.equals(type)) { List<Long> list = new ArrayList<Long>(); for (Object item : values) { list.add(Long.parseLong(item.toString())); } value = list; } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) { List<Date> list = new ArrayList<Date>(); for (Object item : values) { Tuple<Date, QueryOperation> tuple = convertToDate(item, operation); operation = tuple.getValue(); list.add(tuple.getKey()); } value = list; } else if (Enum.class.isAssignableFrom(type)) { List<Enum> enumValues = new ArrayList<Enum>(values.size()); for (Object item : values) { Enum enumItem = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, item); enumValues.add(enumItem); } value = enumValues; } } else { if (Integer.class.equals(type)) { value = Integer.parseInt(value.toString()); } else if (Long.class.equals(type)) { value = Long.parseLong(value.toString()); } else if (Double.class.equals(type)) { value = Double.parseDouble(value.toString()); } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) { Tuple<Date, QueryOperation> tuple = convertToDate(value, operation); value = tuple.getKey(); operation = tuple.getValue(); } else if (Enum.class.isAssignableFrom(type)) { value = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, value); } } } if (!String.class.equals(type) && (QueryOperation.LIKECS.equals(operation) || QueryOperation.LIKECSFIRST.equals(operation) || QueryOperation.LIKE.equals(operation) || QueryOperation.LIKEFIRST.equals(operation))) { operation = QueryOperation.EQUALS; } switch (operation) { case LIKECS: criterion = Restrictions.like(query.getField(), "%" + value + "%"); break; case LIKECSFIRST: criterion = Restrictions.like(query.getField(), value + "%"); break; case LIKE: criterion = Restrictions.ilike(query.getField(), "%" + value + "%"); break; case LIKEFIRST: criterion = Restrictions.ilike(query.getField(), value + "%"); break; case EQUALS: criterion = Restrictions.eq(query.getField(), value); break; case LESSTHAN: criterion = Restrictions.lt(query.getField(), value); break; case GREATERTHAN: criterion = Restrictions.gt(query.getField(), value); break; case ISNULL: criterion = Restrictions.isNull(query.getField()); break; case ISNOTNULL: criterion = Restrictions.isNotNull(query.getField()); break; case ISEMPTY: criterion = Restrictions.isEmpty(query.getField()); break; case ISNOTEMPTY: criterion = Restrictions.isNotEmpty(query.getField()); break; case NOTEQUALS: criterion = Restrictions.ne(query.getField(), value); break; case IN: criterion = generateInRestriction(query.getField(), (Collection) value); break; case NOTIN: criterion = Restrictions.not(generateInRestriction(query.getField(), (Collection) value)); break; case FIELDEQUALS: criterion = Restrictions.eqProperty(query.getField(), value != null ? value.toString() : ""); break; case FIELDNOTEQUALS: criterion = Restrictions.neProperty(query.getField(), value != null ? value.toString() : ""); break; case FIELDGREATERTHAN: criterion = Restrictions.gtProperty(query.getField(), value != null ? value.toString() : ""); break; case FIELDLESSTHAN: criterion = Restrictions.ltProperty(query.getField(), value != null ? value.toString() : ""); break; default: throw new RuntimeException("Operation " + query.getField() + " is not a valid operation"); } return criterion; }
From source file:net.firejack.platform.core.store.BaseStore.java
License:Apache License
protected Criteria createCriteriaForFilter(Session session, SpecifiedIdsFilter filter) { Criteria criteria = session.createCriteria(getClazz()); criteria.setFetchMode("parent", FetchMode.JOIN); if (filter != null) { if (filter.getAll() == Boolean.TRUE) { if (!filter.getUnnecessaryIds().isEmpty()) { criteria.add(Restrictions.not(Restrictions.in("id", filter.getUnnecessaryIds()))); }/* w ww .ja va 2 s .c om*/ } else { if (!filter.getNecessaryIds().isEmpty()) { criteria.add(Restrictions.in("id", filter.getNecessaryIds())); } } } return criteria; }
From source file:net.firejack.platform.core.store.registry.GroupStore.java
License:Apache License
@Override @SuppressWarnings("unchecked") @Transactional(readOnly = true)//from ww w. j a v a 2 s . co m public List<GroupModel> findAll(Collection<Long> excludeIds) { Criteria criteria = getSession().createCriteria(getClazz()); if (excludeIds != null && !excludeIds.isEmpty()) { criteria.add(Restrictions.not(Restrictions.in("id", excludeIds))); } return (List<GroupModel>) criteria.list(); }
From source file:net.firejack.platform.core.store.registry.RoleStore.java
License:Apache License
@Override @SuppressWarnings("unchecked") @Transactional(readOnly = true)//w w w . ja v a2 s. c o m public List<RoleModel> findContextRoles(List<Long> exceptIds) { Criteria criteria = getSession().createCriteria(RoleModel.class); if (exceptIds != null && !exceptIds.isEmpty()) { criteria.add(Restrictions.not(Restrictions.in("id", exceptIds))); } criteria.createAlias("parent", "parent"); criteria.add(Restrictions.ne("parent.class", "PKG")); return (List<RoleModel>) criteria.list(); }
From source file:net.longfalcon.newsj.persistence.hibernate.BinaryDAOImpl.java
License:Open Source License
@Override @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) public List<Binary> searchByNameAndExcludedCats(String[] searchTokens, int limit, Collection<Integer> excludedCategoryIds) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Binary.class); if (searchTokens != null && searchTokens.length > 0) { Conjunction searchTokensOr = Restrictions.conjunction(); for (String searchToken : searchTokens) { searchTokensOr.add(Restrictions.ilike("name", searchToken.trim(), MatchMode.ANYWHERE)); }/* w ww . j a v a 2 s .c o m*/ criteria.add(searchTokensOr); } if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) { criteria.add(Restrictions.not(Restrictions.in("categoryId", excludedCategoryIds))); } criteria.setMaxResults(limit); criteria.setFetchMode("releaseGuid", FetchMode.EAGER); criteria.setFetchMode("numberParts", FetchMode.EAGER); criteria.setFetchMode("groupName", FetchMode.EAGER); return criteria.list(); }