List of usage examples for org.hibernate.criterion Restrictions between
public static Criterion between(String propertyName, Object low, Object high)
From source file:br.ufg.reqweb.dao.RequerimentoDao.java
@Transactional(readOnly = true) public List<Requerimento> find(String sortField, String sortOrder, Map<String, Object> filters) { if (filters == null) { filters = new HashMap(); }//from w ww. j a va 2 s . co m try { Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Requerimento.class); for (String field : filters.keySet()) { /** * login eq / tipoRequerimento eq / termo like / dataCriacao * between */ if (field.equals("login")) { criteria.createAlias("discente", "d"); criteria.add(Restrictions.and(Restrictions.eq("d.login", filters.get(field)))); } if (field.equals("turmas")) { criteria.createAlias("itemRequerimentoList", "i"); List<Turma> turmas = (List<Turma>) filters.get(field); criteria.add(Restrictions.and(Restrictions.in("i.turma", turmas))); } if (field.equals("tipoRequerimento")) { criteria.add(Restrictions.and(Restrictions.eq(field, filters.get(field)))); } if (field.equals("termo")) { criteria.createAlias("discente", "d"); criteria.add(Restrictions.or(Restrictions.eq("d.matricula", filters.get("termo")), Restrictions .like("d.nome", filters.get("termo").toString(), MatchMode.ANYWHERE).ignoreCase())); } if (field.equals("curso")) { criteria.createAlias("discente.perfilList", "p"); criteria.add(Restrictions.and(Restrictions.eq("p.curso", filters.get(field)))); } if (field.equals("dataCriacao")) { Date[] arrayDate = (Date[]) filters.get("dataCriacao"); criteria.add(Restrictions.and(Restrictions.between("dataCriacao", arrayDate[0], arrayDate[1]))); } } if ((sortField != null && !sortField.isEmpty()) && (sortOrder != null && !sortOrder.isEmpty())) { if (sortOrder.toLowerCase().equals("asc")) { criteria.addOrder(Property.forName(sortField).asc()); } if (sortOrder.toLowerCase().equals("desc")) { criteria.addOrder(Property.forName(sortField).desc()); } } criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); } catch (HibernateException e) { System.out.println("query error: " + e.getMessage()); return new ArrayList<>(); } }
From source file:by.andrew.pakhomov.testtask.web.controller.SpentTimeRecordController.java
@RequestMapping("/betweendates") public String getSpentTimeBetweenDates(@RequestParam(name = "startDate", required = false) String startDate, @RequestParam(name = "finishDate", required = false) String finishDate, Model model) { model.addAttribute("records", Collections.emptyList()); if (startDate == null && finishDate == null) { return "report-spent-time-between-dates"; } else {/*from w w w. j a va 2s . c o m*/ model.addAttribute("startDate", startDate); model.addAttribute("finishDate", finishDate); } List<String> errors = new ArrayList<>(2); Date startDateTime = null; Date finishDateTime = null; try { startDateTime = DATE_FORMAT.parse(startDate); } catch (ParseException ex) { errors.add( " --"); } try { finishDateTime = DATE_FORMAT.parse(finishDate); } catch (ParseException ex) { errors.add( " --"); } if (!errors.isEmpty()) { this.addFormErrors(model, errors.toArray(new String[errors.size()])); return "report-spent-time-between-dates"; } final Date finalStartDate = startDateTime; final Date finalFinishDate = finishDateTime; this.executeSafely(model, (Session session) -> { Criteria cr = session.createCriteria(SpentTimeRecord.class); cr.add(Restrictions.between("registrationDate", finalStartDate, finalFinishDate)); List<SpentTimeRecord> records = cr.list(); model.addAttribute("records", records); return true; }); return "report-spent-time-between-dates"; }
From source file:ca.qc.cegepoutaouais.tge.pige.server.ManagementServiceImpl.java
License:Open Source License
@Override public PagingLoadResult<Loan> getLoans(PagingLoadConfig configs) throws PigeException { PermissionHelper.checkLoanManagementPermission(getThreadLocalRequest()); logger.debug("Rcupration des emprunts " + "[Pagination: dpart=" + configs.getOffset() + ", max=" + configs.getLimit() + "] ..."); Transaction tx = null;//from w w w .ja v a 2 s.co m List<Loan> loans = null; Session session = null; Integer loanCount = 0; Integer offset = 0; Integer limit = 0; try { session = PigeHibernateUtil.openSession(); tx = session.beginTransaction(); Date startDate = null; Date endDate = null; Criteria loansCriteria = session.createCriteria(Loan.class); Criteria usersCriteria = null; List<FilterConfig> searchConfigs = configs.get(PIGE.SEARCH_CONFIGS); List<FilterConfig> filterConfigs = configs.get(PIGE.FILTER_CONFIGS); List<FilterConfig> userParam = null; List<FilterConfig> loanParam = null; if (searchConfigs != null) { for (FilterConfig fc : searchConfigs) { if (fc.getField().equals("params")) { logger.debug("Extraction du FilterConfig 'params'..."); BaseListFilterConfig blfc = (BaseListFilterConfig) fc; userParam = blfc.get(PIGE.USER_CONFIGS); logger.debug("Extraction de la liste 'user-param'..." + (userParam == null ? "N/D" : "OK")); loanParam = blfc.get(PIGE.LOAN_CONFIGS); logger.debug("Extraction de la liste 'loan-param'..." + (loanParam == null ? "N/D" : "OK")); break; } } } Criterion filterCriterion = null; Iterator<FilterConfig> itr = null; FilterConfig fc = null; if (loanParam != null) { itr = loanParam.iterator(); while (itr.hasNext()) { fc = itr.next(); if (fc instanceof BaseDateFilterConfig) { BaseDateFilterConfig dateFC = (BaseDateFilterConfig) fc; startDate = dateFC.get(PIGE.START_DATE, null); endDate = dateFC.get(PIGE.END_DATE, null); itr.remove(); break; } } FilterConfig matchModeConfig = new BaseBooleanFilterConfig(); matchModeConfig.setField(PIGE.MATCH_MODE); matchModeConfig.setValue(Boolean.FALSE); loanParam.add(matchModeConfig); filterCriterion = PigeHibernateUtil.buildFilterCriterion(loanParam); if (filterCriterion != null) { loansCriteria.add(filterCriterion); } if (startDate != null) { logger.debug("Restrictions sur la date d'chance: entre " + startDate.toString() + " et " + (endDate == null ? new Date() : endDate) + " inclusivement..."); loansCriteria.add(Restrictions.between(Loan.START_DATE_REF, startDate, (endDate == null ? new Date() : endDate))); } else if (endDate != null) { logger.debug("Restrictions sur la date d'chance: <= " + endDate.toString()); loansCriteria.add(Restrictions.le(Loan.START_DATE_REF, endDate)); } } if (filterConfigs != null && filterConfigs.size() > 0) { filterCriterion = PigeHibernateUtil.buildFilterCriterion(filterConfigs); if (filterCriterion != null) { loansCriteria.add(filterCriterion); } } usersCriteria = loansCriteria.createCriteria(Loan.USER_REF, "usr", Criteria.LEFT_JOIN); if (userParam != null) { String userScope = null; itr = userParam.iterator(); while (itr.hasNext()) { fc = itr.next(); if (fc.getField().equals("scope")) { userScope = (String) fc.getValue(); itr.remove(); break; } } if (userScope != null && !userScope.isEmpty() && !userScope.equals("*")) { logger.debug( "Restriction de la recherche sur un usager " + "spcifique: [" + userScope + "] ..."); usersCriteria.add(Restrictions.like(User.IDENTIFIER_REF, userScope, MatchMode.EXACT)); } else { logger.debug("Restriction de la recherche sur un ou des " + "usager spcifique..."); filterCriterion = PigeHibernateUtil.buildFilterCriterion(userParam); if (filterCriterion != null) { usersCriteria.add(filterCriterion); } } } loanCount = (Integer) loansCriteria.setProjection(Projections.rowCount()).uniqueResult(); offset = configs.getOffset(); limit = loanCount; if (limit > 0 && configs.getLimit() > 0) { limit = Math.min(configs.getLimit(), limit); } logger.debug("Paramtres d'extraction des donnes: dpart=" + offset + ", max=" + limit + "] ..."); loansCriteria.setProjection(null); loansCriteria.setResultTransformer(Criteria.ROOT_ENTITY); loans = (List) loansCriteria.addOrder(Order.asc("usr." + User.LOAN_NO_REF)).setFirstResult(offset) .setMaxResults(limit).list(); tx.commit(); logger.debug("Rcupration russie!"); } catch (Exception hex) { logger.error(hex); if (tx != null) { tx.rollback(); } } finally { if (session != null) { session.close(); } } if (loans == null) { loans = new ArrayList(); } return new BasePagingLoadResult(loans, offset, loanCount); }
From source file:cn.newtouch.hibernate.dao.StudentDAO.java
License:Open Source License
public static void main(String[] args) { try {/*from w ww . ja va 2s .c om*/ Session session = HibernateUtil.getSession(); String hql = " from Student"; List<Student> userList = session.createQuery(hql).list(); System.out.println("=====1=======" + userList.size()); Criteria criteria = session.createCriteria(Student.class); // criteria.add(Restrictions.eq("name", "HZZ")); // map criteria.add(Restrictions.allEq(new HashMap<String, String>())); // criteria.add(Restrictions.gt("id", new Long(1))); // criteria.add(Restrictions.ge("id", new Long(1))); // ? criteria.add(Restrictions.lt("id", new Long(1))); // ? criteria.add(Restrictions.le("id", new Long(1))); // xxxyyy criteria.add(Restrictions.between("id", new Long(1), new Long(2))); // ? criteria.add(Restrictions.like("name", "H")); // and? criteria.add(Restrictions.and(Restrictions.ge("id", new Long(1)), Restrictions.ge("id", new Long(1)))); // or? criteria.add(Restrictions.or(Restrictions.ge("id", new Long(1)), Restrictions.ge("id", new Long(1)))); userList = criteria.list(); System.out.println("=====2=======" + userList.size()); Student student = new Student(); student.setId(123456L); student.setName("hzz"); student.setAge(14); save(student); System.out.println("OK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } catch (Exception e) { e.printStackTrace(); } }
From source file:co.com.codesoftware.logic.ProductoLogic.java
/** * Funcion con la cual busco el//from www . j av a2s. c o m * * @param idDska * @param idSede * @param fechaIni * @param fechaFin * @return */ public List<KardexProductoEntity> buscaKardexProducto(Integer idDska, Integer idSede, Date fechaIni, Date fechaFin) { List<KardexProductoEntity> rta = null; try { initOperation(); Criteria crit = sesion.createCriteria(KardexProductoEntity.class).createAlias("producto", "prod"); crit.add(Restrictions.eq("prod.id", idDska)).setFetchMode("sede", FetchMode.JOIN) .setFetchMode("producto", FetchMode.JOIN).setFetchMode("usuario", FetchMode.JOIN) .setFetchMode("usuario.persona", FetchMode.JOIN).setFetchMode("usuario.sede", FetchMode.JOIN) .setFetchMode("usuario.idPerfil", FetchMode.JOIN).setFetchMode("movInv", FetchMode.JOIN); crit.addOrder(Order.desc("id")); if (fechaIni != null && fechaFin == null) { crit.add(Restrictions.ge("fecha", fechaIni)); } else if (fechaIni == null && fechaFin != null) { crit.add(Restrictions.lt("fecha", fechaFin)); } else if (fechaIni != null && fechaFin != null) { crit.add(Restrictions.between("fecha", fechaIni, fechaFin)); } if (idSede != -1) { crit.createAlias("sede", "sed").add(Restrictions.eq("sed.id", idSede)); } rta = crit.list(); } catch (Exception e) { e.printStackTrace(); } return rta; }
From source file:co.com.codesoftware.logic.productos.FacturaCompraLogic.java
/** * funcion que consulta las facturas por vencer * * @return/* www.j a v a 2 s.c o m*/ */ public List<FacturaCompraEntity> consultaFacturaCompraXVencer() { List<FacturaCompraEntity> facturas = new ArrayList<>(); try { ParametrosEmpresaLogic logic = new ParametrosEmpresaLogic(); ParametrosEntity param = logic.consultaDiasParametrizadosEnvioCorreo(); Date fechaFinal = new Date(); fechaFinal.setHours(23); fechaFinal.setMinutes(59); fechaFinal.setSeconds(59); Calendar calendar = Calendar.getInstance(); calendar.setTime(fechaFinal); calendar.add(Calendar.DAY_OF_YEAR, Integer.parseInt(param.getValor()) * -1); Date fechaInicial = calendar.getTime(); initOperation(); facturas = sesion.createCriteria(FacturaCompraEntity.class) .add(Restrictions.between("fechaFacCompra", fechaInicial, fechaFinal)) .add(Restrictions.ne("estado", "P")).list(); } catch (Exception e) { e.printStackTrace(); } return facturas; }
From source file:co.com.codesoftware.logica.contabilidad.ContabilidadLogica.java
/** * Funcion con la cual obtengo los movimientos contables de acuerdo a las * fechas y al tipo de documento//from www . j a v a2 s .c o m * * @param fechaIn * @param fechaFin * @param tipoDoc * @return */ public List<MoviContableEntity> consultarMovimientoscontable(Date fechaIn, Date fechaFin, String tipoDoc) { List<MoviContableEntity> rta = null; try { this.initOperation(); Criteria crit = this.sesion.createCriteria(MoviContableEntity.class); crit.setFetchMode("subcuenta", FetchMode.JOIN); crit.setFetchMode("tipoDocumento", FetchMode.JOIN); crit.setFetchMode("auxiliar", FetchMode.JOIN); if (!"-1".equalsIgnoreCase(tipoDoc)) { crit.add(Restrictions.eq("llave", tipoDoc)); } if (fechaIn != null || fechaFin != null) { if (fechaIn != null && fechaFin != null) { fechaFin.setHours(23); fechaFin.setMinutes(59); fechaFin.setSeconds(59); crit.add(Restrictions.between("fecha", fechaIn, fechaFin)); } else if (fechaIn != null) { crit.add(Restrictions.le("fecha", fechaIn)); } else if (fechaFin != null) { crit.add(Restrictions.gt("fecha", fechaFin)); } } rta = crit.list(); } catch (Exception e) { e.printStackTrace(); } return rta; }
From source file:co.com.codesoftware.logica.contabilidad.ContabilidadLogica.java
public List<MoviContableEntity> consultarMovContXCuenta(Date fechaIn, Date fechaFin, String cuenta, String tipo, Integer tercero) {/* w ww . ja va 2 s. c o m*/ List<MoviContableEntity> rta = null; try { System.out.println("cuenta:" + cuenta); System.out.println("tipo:" + tipo); System.out.println("tercero:" + tercero); this.initOperation(); Criteria crit = this.sesion.createCriteria(MoviContableEntity.class); crit.setFetchMode("subcuenta", FetchMode.JOIN); crit.setFetchMode("tipoDocumento", FetchMode.JOIN); crit.setFetchMode("auxiliar", FetchMode.JOIN); if (cuenta != null && !"".equalsIgnoreCase(cuenta)) { crit.createAlias("subcuenta", "sbcu"); crit.add(Restrictions.like("sbcu.codigo", cuenta, MatchMode.ANYWHERE)); } //MO-001 if (tipo != null && !"".equalsIgnoreCase(tipo)) { crit.add(Restrictions.eq("tipoTercero", Integer.parseInt(tipo))); } if (tercero != null && tercero != -1) { crit.add(Restrictions.eq("tercero", tercero)); } //MO-001 if (fechaIn != null || fechaFin != null) { if (fechaIn != null && fechaFin != null) { fechaFin.setHours(23); fechaFin.setMinutes(59); fechaFin.setSeconds(59); crit.add(Restrictions.between("fecha", fechaIn, fechaFin)); } else if (fechaIn != null) { crit.add(Restrictions.le("fecha", fechaIn)); } else if (fechaFin != null) { crit.add(Restrictions.gt("fecha", fechaFin)); } } crit.addOrder(Order.desc("id")); rta = crit.list(); } catch (Exception e) { e.printStackTrace(); } return rta; }
From source file:co.com.codesoftware.logica.facturacion.FacturacionLogica.java
/** * metodo que consulta las facturas por fecha y por sede * * @param fechaInicial//from ww w. ja v a 2 s . c o m * @param fechaFinal * @param sede * @param estado * @return */ public List<FacturaEntity> obtieneFacturasXSede(Date fechaInicial, Date fechaFinal, Integer sede, String estado) { List<FacturaEntity> rta = null; try { initOperation(); Criteria crit = this.sesion.createCriteria(FacturaEntity.class); crit.setFetchMode("idSede", FetchMode.JOIN).setFetchMode("cliente", FetchMode.JOIN) .createAlias("idSede", "sed").add(Restrictions.eq("sed.id", sede)) .add(Restrictions.between("fecha", fechaInicial, fechaFinal)).addOrder(Order.desc("id")); if (estado == null) { estado = ""; } if (!"".equalsIgnoreCase(estado.trim())) { if ("R".equalsIgnoreCase(estado.trim())) { crit.add(Restrictions.sqlRestriction("fact_fact in (select remi_fact from in_tremi)")); } else if ("PC".equalsIgnoreCase(estado.trim())) { String[] valores = new String[] { "S", "A", "R" }; crit.add(Restrictions.in("estado", valores)); } else if ("P".equalsIgnoreCase(estado.trim())) { crit.add(Restrictions.eq("estado", estado.trim())); } else if ("C".equalsIgnoreCase(estado.trim())) { crit.add(Restrictions.eq("estado", estado.trim())); } } rta = crit.list(); } catch (Exception e) { e.printStackTrace(); } return rta; }
From source file:co.com.codesoftware.logica.facturacion.FacturacionLogica.java
/** * Funcion con la cual obtengo facturas por medio de una serie de filtros * * @param fechaInicial/* w w w . ja v a 2 s .c o m*/ * @param fechaFinal * @param idFactura * @param idCliente * @param codExterno * @return */ public List<FacturaEntity> obtieneFacturasXFiltros(Date fechaInicial, Date fechaFinal, Integer idFactura, Integer idCliente, String codExterno) { List<FacturaEntity> facturas = null; try { this.initOperation(); Criteria crit = sesion.createCriteria(FacturaEntity.class); crit.setFetchMode("idSede", FetchMode.JOIN); crit.setFetchMode("cliente", FetchMode.JOIN); //Numero desde el cual se inicio la facturacion Integer iniFact = this.buscaConcecutivoFactura(); if (idFactura == null) { idFactura = 0; } //idFactura = idFactura - iniFact; if (idFactura > 0) { crit.add(Restrictions.eq("id", idFactura)); } else { if (idCliente != null && idCliente > 0) { crit.createAlias("cliente", "cli"); crit.add(Restrictions.eq("cli.id", idCliente)); } if (codExterno != null && !"".equalsIgnoreCase(codExterno)) { Integer idProducto = this.buscaIdProductoXCodigoExterno(codExterno); if (idProducto != null && idProducto != 0) { ArrayList<Integer> idFacturas = this.obtieneFacturasXCodigoProducto(idProducto); if (idFacturas != null) { crit.add(Restrictions.in("id", idFacturas)); } } } if (fechaInicial != null && fechaFinal != null) { fechaFinal.setHours(23); fechaFinal.setMinutes(59); fechaFinal.setSeconds(59); crit.add(Restrictions.between("fecha", fechaInicial, fechaFinal)); } } crit.addOrder(Order.desc("id")); facturas = crit.list(); } catch (Exception e) { e.printStackTrace(); } return facturas; }