Example usage for org.hibernate Criteria setFetchMode

List of usage examples for org.hibernate Criteria setFetchMode

Introduction

In this page you can find the example usage for org.hibernate Criteria setFetchMode.

Prototype

public Criteria setFetchMode(String associationPath, FetchMode mode) throws HibernateException;

Source Link

Document

Specify an association fetching strategy for an association or a collection of values.

Usage

From source file:co.com.codesoftware.logica.admin.UsuarioLogica.java

/**
 * Funcion con la cual obtenemos un usuario por medio de su usuario
 *
 * @param user String usuario asignado para el sistema
 * @return//from w  w  w.j a v  a2  s .  c o  m
 */
public UsuarioEntity obtieneUsuarioXUser(String user) {
    UsuarioEntity usuario = null;
    try {
        this.initOperation();
        Criteria crit = sesion.createCriteria(UsuarioEntity.class);
        crit.add(Restrictions.eq("usuario", user));
        crit.setFetchMode("persona", FetchMode.JOIN);
        crit.setFetchMode("perfil", FetchMode.JOIN);
        crit.setFetchMode("sede", FetchMode.JOIN);
        usuario = (UsuarioEntity) crit.uniqueResult();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return usuario;
}

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 va  2s . 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 w  w  .  j ava  2s . 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.contabilidad.PucLogica.java

/**
 * Funcion con la cual obtengo asientos contables
 * @param idTrans/*from  w w w .  j  a v  a 2  s  .c o  m*/
 * @return 
 */
public List<MoviContableEntity> obtenerAsientoContable(Integer idTrans) {
    List<MoviContableEntity> rta = null;
    try {
        this.initOperation();
        Criteria crit = this.sesion.createCriteria(MoviContableEntity.class);
        crit.add(Restrictions.eq("idMovimiento", idTrans));
        crit.setFetchMode("auxiliar", FetchMode.JOIN);
        crit.setFetchMode("subcuenta", FetchMode.JOIN);
        crit.setFetchMode("tipoDocumento", FetchMode.JOIN);
        crit.addOrder(Order.asc("naturaleza"));
        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 w w  w.  ja  v a2  s  .co 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  va2 s .co  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;
}

From source file:co.com.codesoftware.logica.facturacion.FacturacionLogica.java

/**
 * Funcion con la cual se obtiene una factura por medio de su id
 *
 * @param id/*from ww  w  .java 2 s  .co  m*/
 * @return
 */
public FacturaEntity getFacturaForId(Integer id) {
    FacturaEntity factura = null;
    boolean validaFecha = true;
    try {
        initOperation();
        Criteria criteria = sesion.createCriteria(FacturaEntity.class);
        criteria.add(Restrictions.eq("id", id));
        criteria.setFetchMode("cliente", FetchMode.JOIN);
        criteria.setFetchMode("idSede", FetchMode.JOIN);
        factura = (FacturaEntity) criteria.uniqueResult();
        if (factura != null) {
            Criteria crit = sesion.createCriteria(DetProduFacturaEntity.class);
            crit.add(Restrictions.eq("idFactura", id));
            crit.setFetchMode("producto", FetchMode.JOIN);
            crit.setFetchMode("producto.referencia", FetchMode.JOIN);
            crit.setFetchMode("producto.marca", FetchMode.JOIN);
            crit.setFetchMode("producto.categoria", FetchMode.JOIN);
            crit.setFetchMode("producto.subcuenta", FetchMode.JOIN);
            List<DetProduFacturaEntity> aux = crit.list();
            if (aux != null) {
                if (!aux.isEmpty()) {
                    if (validaFecha) {
                        validaFecha = false;
                        factura.setFechaExacta(aux.get(0).getFecha());
                    }
                    //                        for (DetProdFacturaTable detalle : aux) {
                    //                            Query query3 = sesion.createQuery("from ProductoTable where id = :idDska ");
                    //                            query3.setParameter("idDska", detalle.getIdProducto());
                    //                            detalle.setProducto((ProductoTable) query3.uniqueResult());
                    //                        }
                    factura.setDetalleProductos(aux);
                }
            }
            //Obtengo las recetas

            factura.setDetalleRecetas(sesion.createCriteria(DetReceFacturaEntity.class)
                    .add(Restrictions.eq("factura", id)).list());
            //                Query query2 = sesion.createQuery("from DetReceFacturacionTable where idFact = :idFact ");
            //                query2.setParameter("idFact", id);
            //                List<DetReceFacturacionTable> aux2 = query2.list();
            //                if (aux2 != null) {
            //                    if (!aux2.isEmpty()) {
            //                        if (validaFecha) {
            //                            validaFecha = false;
            //                            factura.setFechaExacta(aux2.get(0).getFecha());
            //                        }
            //                        for (DetReceFacturacionTable receta : aux2) {
            //                            Query query4 = sesion.createQuery("from RecetaTable where id = :idRece ");
            //                            query4.setParameter("idRece", receta.getIdRece());
            //                            receta.setReceta((RecetaTable) query4.uniqueResult());
            //                        }
            //                        factura.setDetalleRecetas(aux2);
            //                    }
            //                }
        }
        //            if (factura != null) {
        //                Query query2 = sesion.createQuery("from Cliente WHERE id = :idCliente ");
        //                query2.setParameter("idCliente", factura.getIdCliente());
        //                factura.setCliente((Cliente) query2.uniqueResult());
        //            }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return factura;
}

From source file:co.com.codesoftware.logica.facturacion.FacturacionLogica.java

/**
 * Funcion con la cual se obtiene una factura por medio de su id
 *
 * @param id/* ww  w  .ja va 2s  . c  o m*/
 * @return
 */
public FacturaEntity getFacturaForConsec(Integer idRsfa, Integer consec) {
    FacturaEntity factura = null;
    boolean validaFecha = true;
    try {
        initOperation();
        Criteria criteria = sesion.createCriteria(FacturaEntity.class);
        criteria.add(Restrictions.eq("resolucion", idRsfa));
        criteria.add(Restrictions.eq("consecutivo", consec));
        criteria.setFetchMode("cliente", FetchMode.JOIN);
        criteria.setFetchMode("idSede", FetchMode.JOIN);
        factura = (FacturaEntity) criteria.uniqueResult();
        if (factura != null) {
            Criteria crit = sesion.createCriteria(DetProduFacturaEntity.class);
            crit.add(Restrictions.eq("idFactura", factura.getId()));
            crit.setFetchMode("producto", FetchMode.JOIN);
            crit.setFetchMode("producto.referencia", FetchMode.JOIN);
            crit.setFetchMode("producto.marca", FetchMode.JOIN);
            crit.setFetchMode("producto.categoria", FetchMode.JOIN);
            crit.setFetchMode("producto.subcuenta", FetchMode.JOIN);
            List<DetProduFacturaEntity> aux = crit.list();
            if (aux != null) {
                if (!aux.isEmpty()) {
                    if (validaFecha) {
                        validaFecha = false;
                        factura.setFechaExacta(aux.get(0).getFecha());
                    }
                    factura.setDetalleProductos(aux);
                }
            }
            factura.setDetalleRecetas(sesion.createCriteria(DetReceFacturaEntity.class)
                    .add(Restrictions.eq("factura", factura.getId())).list());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return factura;
}

From source file:co.com.codesoftware.logica.facturacion.FacturaCompraTmpLogica.java

/**
 * metodo que consulta las facturas de compra temporales por estado
 *
 * @param estado//w  ww . ja v a2 s .  c o m
 * @param idSede
 * @param fechaIncial
 * @param fechaFinal
 * @return
 */
public List<FacturaCompraTmpEntity> consultaFacturaTemporalXEstado(String estado, Integer idSede,
        Date fechaIncial, Date fechaFinal) {
    List<FacturaCompraTmpEntity> rta = new ArrayList<>();
    try {
        this.initOperation();
        Criteria crit = sesion.createCriteria(FacturaCompraTmpEntity.class);
        crit.setFetchMode("proveedor", FetchMode.JOIN);
        crit.setFetchMode("proveedor.retenciones", FetchMode.JOIN);
        crit.setFetchMode("proveedor.ciudad", FetchMode.JOIN);
        crit.setFetchMode("proveedor.municipio", FetchMode.JOIN);
        crit.setFetchMode("sede", FetchMode.JOIN);
        if (!"".equalsIgnoreCase(estado)) {
            crit.add(Restrictions.eq("estado", estado));
        }
        if (fechaIncial != null && fechaFinal != null) {
            fechaFinal.setHours(23);
            fechaFinal.setMinutes(59);
            fechaFinal.setSeconds(59);
            crit.add(Restrictions.between("fechaFacCompra", fechaIncial, fechaFinal));
        }
        if (idSede != null && idSede != 0) {
            crit.createAlias("sede", "s").add(Restrictions.eq("s.id", idSede));
        }
        crit.addOrder(Order.desc("id"));
        rta = crit.list();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;

}

From source file:co.com.codesoftware.logica.facturacion.FacturaCompraTmpLogica.java

/**
 * metodo que consulta la factura temporal de compra por id
 *
 * @param idFactura/*from  ww  w  .  j av  a  2s  .  c o m*/
 * @return
 */
public FacturaCompraTmpEntity consultaFacturaTemporal(Integer idFactura) {
    FacturaCompraTmpEntity respuesta = new FacturaCompraTmpEntity();
    try {
        initOperation();
        Criteria crit = this.sesion.createCriteria(FacturaCompraTmpEntity.class);
        crit.setFetchMode("proveedor", FetchMode.EAGER);
        crit.setFetchMode("sede", FetchMode.JOIN);
        crit.setFetchMode("proveedor.retenciones", FetchMode.JOIN);
        crit.setFetchMode("proveedor.municipio", FetchMode.JOIN);
        crit.setFetchMode("proveedor.ciudad", FetchMode.JOIN);
        respuesta = (FacturaCompraTmpEntity) crit.add(Restrictions.eq("id", idFactura)).uniqueResult();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return respuesta;
}