List of usage examples for org.hibernate.criterion Restrictions idEq
public static Criterion idEq(Object value)
From source file:modelo.dao.ExamenDAO.java
License:Open Source License
/** * Este mtodo es utilizado para obtener el objeto examen perteneciente * al id ingresado//from ww w . j av a2 s .c om * * @param id el id del examen que se quiere obtener * @return El objeto ExamenDTO con sus relaciones completamente inicializadas * hasta reactivos. (Las incorrectas de los reactivos no estn inicializadas, * tampoco los temas del curso) */ public ExamenDTO obtener(Integer id) { Session s = getSession(); Transaction tx = null; ExamenDTO examen; if (s == null) { System.out.println("Session nula, regresando null...."); return null; } try { tx = s.beginTransaction(); //Obtiene el examen especfico a ese id, incluyendo sus claves Criteria c = s.createCriteria(ExamenDTO.class).add(Restrictions.idEq(id)).setFetchMode("claves", FetchMode.JOIN); examen = (ExamenDTO) c.uniqueResult(); //Inicializa por cada clave todos los reactivos que contenga for (ClaveExamenDTO clave : examen.getClaves()) { Hibernate.initialize(clave.getReactivos()); } tx.commit(); } catch (Exception e) { if (tx != null) { tx.rollback(); } examen = null; } finally { s.close(); System.out.println("Session cerrada"); } return examen; }
From source file:modelo.dao.GrupoDAO.java
License:Open Source License
/** * Recibe el id de un grupo y lo realiza la consulta a la base de datos para * obtener el grupo.//from w w w . ja v a 2 s.co m * * @param id el id. * @return objeto GrupoDTO. */ public GrupoDTO obtener(Integer id) { //Regresa todas las relaciones Session s = getSession(); Transaction tx = null; GrupoDTO grupo; if (s == null) { System.out.println("Session nula, regresando null...."); return null; } try { tx = s.beginTransaction(); //Obtiene todos los objetos de la clase, con sus relaciones Criteria c = s.createCriteria(GrupoDTO.class).add(Restrictions.idEq(id)).setFetchMode("alumnos", FetchMode.JOIN); grupo = (GrupoDTO) c.uniqueResult(); Hibernate.initialize(grupo.getMaestros()); tx.commit(); } catch (Exception e) { if (tx != null) { tx.rollback(); } grupo = null; } finally { s.close(); System.out.println("Session cerrada"); } return grupo; }
From source file:modelo.dao.ReactivoDAO.java
License:Open Source License
/** * Obtiene el reactivo completo al que pertenece el id ingresado * /* w w w . j av a2s .c om*/ * @param idReactivo el id del reactivo a obtener * @return el objeto ReactivoDTO completo, con todas sus relaciones, o null * en caso de que no exista */ public ReactivoDTO obtener(int idReactivo) { Session s = getSession(); Transaction tx = null; ReactivoDTO reactivo; if (s == null) { System.out.println("Session nula, regresando null...."); return null; } try { tx = s.beginTransaction(); //Obtiene el reactivo especfico a ese id, incluyendo sus opciones Criteria c = s.createCriteria(ReactivoDTO.class).add(Restrictions.idEq(idReactivo)) .setFetchMode("opcionesIncorrectas", FetchMode.JOIN); reactivo = (ReactivoDTO) c.uniqueResult(); tx.commit(); } catch (Exception e) { if (tx != null) { tx.rollback(); } reactivo = null; } finally { s.close(); System.out.println("Session cerrada"); } return reactivo; }
From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)/* ww w . ja v a 2 s.co m*/ public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de activos 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(Activo.class); Criteria countCriteria = currentSession().createCriteria(Activo.class); criteria.createAlias("tipoActivo", "ta"); countCriteria.createAlias("tipoActivo", "ta"); if (params.containsKey("empresa")) { criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); } if (params.containsKey("tipoActivoIds")) { criteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds"))); countCriteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds"))); } if (params.containsKey("cuentaId")) { criteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId"))); countCriteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId"))); } if (params.containsKey("proveedorId")) { criteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId"))); countCriteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId"))); } Date fechaIniciado = null; if (params.containsKey("fechaIniciado")) { fechaIniciado = (Date) params.get("fechaIniciado"); criteria.add(Restrictions.ge("fechaCompra", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaCompra", fechaIniciado)); } Date fechaTerminado = null; if (params.containsKey("fechaTerminado")) { Calendar cal = Calendar.getInstance(); cal.setTime((Date) params.get("fechaTerminado")); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); fechaTerminado = cal.getTime(); criteria.add(Restrictions.le("fechaCompra", fechaTerminado)); countCriteria.add(Restrictions.le("fechaCompra", fechaTerminado)); } if (params.containsKey("bajas")) { if (fechaIniciado != null) { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); criteria.add(Restrictions.ge("fechaInactivo", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaInactivo", fechaIniciado)); if (fechaTerminado != null) { criteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); } } else if (fechaTerminado != null) { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); criteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); } else { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); } } else { criteria.add(Restrictions.eq("inactivo", false)); countCriteria.add(Restrictions.eq("inactivo", false)); } if (params.containsKey("reubicaciones")) { if (fechaIniciado != null) { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); criteria.add(Restrictions.ge("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaReubicado", fechaIniciado)); if (fechaTerminado != null) { criteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); } } else if (fechaTerminado != null) { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); criteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); } else { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); } } if (params.containsKey("responsableNombre")) { criteria.add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE)); countCriteria .add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE)); } 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("procedencia", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("pedimento", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("poliza", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("codigo", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("marca", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("modelo", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("ubicacion", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("responsable", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); countCriteria.add(propiedades); } if (params.containsKey("order")) { criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor")); String campo = (String) params.get("order"); if (params.get("sort").equals("desc")) { criteria.addOrder(Order.desc(campo)); } else { criteria.addOrder(Order.asc(campo)); } } else { criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor")); criteria.addOrder(Order.desc("folio")); } if (!params.containsKey("reporte")) { criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); } params.put("activos", criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); ProjectionList list = Projections.projectionList(); list.add(Projections.sum("depreciacionAnual"), "depreciacionAnual"); list.add(Projections.sum("depreciacionMensual"), "depreciacionMensual"); list.add(Projections.sum("depreciacionAcumulada"), "depreciacionAcumulada"); list.add(Projections.sum("moi"), "moi"); list.add(Projections.groupProperty("fechaDepreciacion"), "fechaDepreciacion"); countCriteria.setProjection(list); List<?> proyecciones = countCriteria.list(); Iterator<?> iterator = proyecciones.iterator(); if (iterator.hasNext()) { Object[] obj = (Object[]) iterator.next(); NumberFormat nf = DecimalFormat.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Date fecha; if (obj[4] != null) { fecha = (Date) obj[4]; } else { fecha = new Date(); } params.put("resumen", new String[] { nf.format(obj[0]), nf.format(obj[1]), nf.format(obj[2]), nf.format(obj[3]), sdf.format(fecha) }); } return params; }
From source file:mx.edu.um.mateo.activos.dao.impl.TipoActivoDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)//w w w . j a va2 s.c o m public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de tipos de activos 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(TipoActivo.class); Criteria countCriteria = currentSession().createCriteria(TipoActivo.class); if (params.containsKey("empresa")) { criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("descripcion", 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("tiposDeActivo", criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); return params; }
From source file:mx.edu.um.mateo.colportor.dao.AsociacionDao.java
License:Open Source License
public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de asociaciones con params {}", params); if (params == null) { params = new HashMap<>(); }/* ww w . j a va2 s .c o m*/ 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(Asociacion.class); Criteria countCriteria = currentSession().createCriteria(Asociacion.class); if (params.containsKey(Constantes.ADDATTRIBUTE_UNION)) { criteria.createCriteria(Constantes.ADDATTRIBUTE_UNION) .add(Restrictions.idEq(params.get(Constantes.ADDATTRIBUTE_UNION))); countCriteria.createCriteria(Constantes.ADDATTRIBUTE_UNION) .add(Restrictions.idEq(params.get(Constantes.ADDATTRIBUTE_UNION))); } if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) { String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO); filtro = "%" + filtro + "%"; Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike(Constantes.ADDATTRIBUTE_NOMBRE, filtro)); propiedades.add(Restrictions.ilike("nombreCompleto", filtro)); 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_ASOCIACIONES, criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0)); return params; }
From source file:mx.edu.um.mateo.colportor.dao.hibernate.ClienteColportorDaoHibernate.java
@Override @Transactional(readOnly = true)//w ww . ja v a 2 s . c om public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de clienteColportores 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(ClienteColportor.class); Criteria countCriteria = currentSession().createCriteria(ClienteColportor.class); if (params.containsKey("empresa")) { criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("correo", 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.CLIENTE_COLPORTOR_LIST, criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); return params; }
From source file:mx.edu.um.mateo.colportor.dao.hibernate.PedidoColportorDaoHibernate.java
@Override @Transactional(readOnly = true)/* ww w . j a v a 2 s. c om*/ public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de pedidoColportores 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(PedidoColportor.class); Criteria countCriteria = currentSession().createCriteria(PedidoColportor.class); if (params.containsKey("colportor")) { criteria.createCriteria("colportor").add(Restrictions.idEq(params.get("colportor"))); countCriteria.createCriteria("colportor").add(Restrictions.idEq(params.get("colportor"))); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("numPedido", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("razonSocial", 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.PEDIDO_COLPORTOR_LIST, criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); return params; }
From source file:mx.edu.um.mateo.colportor.dao.hibernate.PedidoColportorItemDaoHibernate.java
@Override @Transactional(readOnly = true)//from w w w. j a v a 2 s . co m public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de items de pedidos de colportor 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(PedidoColportorItem.class); Criteria countCriteria = currentSession().createCriteria(PedidoColportorItem.class); criteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido"))); countCriteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido"))); if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("item", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("observaciones", 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.PEDIDO_COLPORTOR_ITEM_LIST, criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); return params; }
From source file:mx.edu.um.mateo.colportor.dao.hibernate.ReciboColportorDaoHibernate.java
@Override @Transactional(readOnly = true)//from ww w. j av a 2s.co m public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de recibos colportore 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(ReciboColportor.class); Criteria countCriteria = currentSession().createCriteria(ReciboColportor.class); criteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido"))); countCriteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido"))); if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("numRecibo", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("observaciones", 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)); } } // //Los recibos hacen un redireccionamiento incorrecto en la paginacion // if (!params.containsKey("reporte")) { // criteria.setFirstResult((Integer) params.get("offset"));men // criteria.setMaxResults((Integer) params.get("max")); // } params.put(Constantes.RECIBO_COLPORTOR_LIST, criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", new Long(0)); return params; }