Example usage for org.hibernate Criteria createAlias

List of usage examples for org.hibernate Criteria createAlias

Introduction

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

Prototype

public Criteria createAlias(String associationPath, String alias) throws HibernateException;

Source Link

Document

Join an association, assigning an alias to the joined association.

Usage

From source file:co.com.codesoftware.logica.inventario.ProductoLogica.java

/**
 * Funcion con la cual obtengo todos los productos del sistema que tengan
 * precio dentro de una sede/*from   w  w w  .j  a  va2s .c om*/
 *
 * @param idSede Integer Sede la cual se tendra como referencia
 * @return
 */
public List<PrecioProductoEntity> obtieneProductosConPrecioXSede(Integer idSede) {
    List<PrecioProductoEntity> rta = null;
    try {
        this.initOperation();
        Criteria crit = sesion.createCriteria(PrecioProductoEntity.class);
        crit.createAlias("idSede", "sede").add(Restrictions.eq("sede.id", idSede));
        crit.add(Restrictions.eq("estado", "A"));
        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);
        crit.addOrder(Order.asc("producto.id"));
        rta = crit.list();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;
}

From source file:co.com.codesoftware.logica.inventario.ProductoLogica.java

/**
 * Funcion con la cual obtengo todos los productos del sistema que tengan
 * precio dentro de una sede/*from w w  w  .  j a va  2 s.c  om*/
 *
 * @param idSede Integer Sede la cual se tendra como referencia
 * @param criterio
 * @return
 */
public List<PrecioProductoEntity> obtieneProductosConPrecioXSedeYCrit(Integer idSede, String criterio) {
    List<PrecioProductoEntity> rta = null;
    try {
        this.initOperation();
        Criteria crit = sesion.createCriteria(PrecioProductoEntity.class);
        crit.createAlias("idSede", "sede").add(Restrictions.eq("sede.id", idSede));
        crit.createAlias("producto", "prod")
                .add(Restrictions.like("prod.descripcion", criterio, MatchMode.ANYWHERE).ignoreCase());
        crit.add(Restrictions.eq("estado", "A"));
        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);
        crit.addOrder(Order.asc("producto.id"));
        rta = crit.list();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;
}

From source file:co.com.codesoftware.logica.inventario.ProductoLogica.java

/**
 * Funcion con la cual busco un producto por medio de su codigo y que tenga
 * precio en la sede/*from  www .j  a  v  a2s  . co m*/
 *
 * @param codigo
 * @param idSede
 * @return
 */
public PrecioProductoEntity buscoProductoEntityXCodigo(String codigo, Integer idSede) {
    PrecioProductoEntity rta = null;
    try {
        initOperation();
        Criteria crit = sesion.createCriteria(PrecioProductoEntity.class);
        crit.createAlias("producto", "prod");
        crit.add(Restrictions.eq("prod.codigo", codigo));
        crit.createAlias("idSede", "sede").add(Restrictions.eq("sede.id", idSede));
        crit.add(Restrictions.eq("estado", "A"));
        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);
        rta = (PrecioProductoEntity) crit.uniqueResult();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;
}

From source file:co.com.codesoftware.logica.inventario.ProductoLogica.java

/**
 * Funcion con la cual busco un producto por medio de su codigo y que tenga
 * precio en la sede// w  ww.  j a v  a2  s  .c o  m
 *
 * @param codExt
 * @return
 */
public PrecioProductoEntity buscoProductoEntityXCodExtSinSede(String codExt) {
    PrecioProductoEntity rta = null;
    try {
        initOperation();
        Criteria crit = sesion.createCriteria(PrecioProductoEntity.class);
        crit.createAlias("producto", "prod");
        crit.add(Restrictions.eq("prod.codigoExt", codExt));
        crit.add(Restrictions.eq("estado", "A"));
        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);
        rta = (PrecioProductoEntity) crit.uniqueResult();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;
}

From source file:co.com.codesoftware.logica.inventario.ProductoLogica.java

public PrecioProductoEntity buscoProductoEntityXCodExt(String codExt, Integer idSede) {
    PrecioProductoEntity rta = null;//  w ww  .j ava  2s.  c  om
    try {
        initOperation();
        Criteria crit = sesion.createCriteria(PrecioProductoEntity.class);
        crit.createAlias("producto", "prod");
        crit.add(Restrictions.eq("prod.codigoExt", codExt));
        crit.createAlias("idSede", "sede").add(Restrictions.eq("sede.id", idSede));
        crit.add(Restrictions.eq("estado", "A"));
        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);
        rta = (PrecioProductoEntity) crit.uniqueResult();
        if (rta == null || rta.getId() == 0 || rta.getId() == null) {
            RecetaLogica logica = new RecetaLogica();
            PrecioRecetaEntity receta = new PrecioRecetaEntity();
            receta = logica.getRecetaXCodigo(codExt, idSede);
            if (receta != null) {
                if (receta.getId() != 0 && receta.getId() != null) {
                    rta = convierteRecetaProducto(receta);
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;
}

From source file:co.com.codesoftware.logica.inventario.ProductoLogica.java

/**
 * Funcion con la cual busco un producto por medio de su codigo y que tenga
 * precio en la sede/*from w  w  w  .ja v  a2s.c o  m*/
 *
 * @return
 */
public PrecioProductoEntity buscoProductoEntityXCodBarras(String codBarras, Integer idSede) {
    PrecioProductoEntity rta = null;
    try {
        initOperation();
        Criteria crit = sesion.createCriteria(PrecioProductoEntity.class);
        crit.createAlias("producto", "prod");
        crit.add(Restrictions.eq("prod.codigoBarras", codBarras));
        crit.createAlias("idSede", "sede").add(Restrictions.eq("sede.id", idSede));
        crit.add(Restrictions.eq("estado", "A"));
        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);
        rta = (PrecioProductoEntity) crit.uniqueResult();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;
}

From source file:co.com.codesoftware.logica.inventario.SolicitudLogica.java

/**
 * metodo que consulta las solicitudes por los filtros seleccionados
 *
 * @param fechaInicial//from  ww w . j  ava  2 s.c  om
 * @param fechaFinal
 * @param estado
 * @param usuario
 * @param sede
 * @return
 */
public List<SolicitudEntity> consultaSolicitudesXFiltro(Date fechaInicial, Date fechaFinal, String estado,
        Integer usuario, Integer sede) {
    System.out.println(fechaInicial);
    System.out.println(fechaFinal);
    System.out.println(estado);
    System.out.println(sede);
    System.out.println(usuario);
    List<SolicitudEntity> respuesta = null;
    try {
        initOperation();
        Criteria crit = sesion.createCriteria(SolicitudEntity.class);
        if (fechaInicial != null && fechaFinal != null) {
            crit.add(Restrictions.ge("fecha", fechaInicial));
            fechaFinal.setHours(23);
            fechaFinal.setMinutes(59);
            fechaFinal.setSeconds(59);
            crit.add(Restrictions.lt("fecha", fechaFinal));
        }
        if (estado != null && !"".equalsIgnoreCase(estado)) {
            crit.add(Restrictions.eq("estado", estado));
        }
        if (usuario != null && usuario != 0) {
            crit.createAlias("usuario", "usu").add(Restrictions.eq("usu.id", usuario));
        }
        if (sede != null && sede != 0) {
            crit.createAlias("sede", "sede").add(Restrictions.eq("sede.id", sede));
        }
        crit.addOrder(Order.desc("id"));
        respuesta = crit.setFetchMode("sede", FetchMode.JOIN).setFetchMode("usuario", FetchMode.JOIN).list();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return respuesta;
}

From source file:com.abiquo.server.core.appslibrary.VirtualMachineTemplateDAO.java

License:Open Source License

private Criteria criteriaWithStatefulNavigation() {
    Criteria crit = createCriteria();
    crit.createAlias(VirtualMachineTemplate.VOLUME_PROPERTY, "vl");
    crit.createAlias("vl." + VolumeManagement.STORAGE_POOL_PROPERTY, "pool");
    crit.createAlias("pool." + StoragePool.DEVICE_PROPERTY, "device");
    return crit;// w w  w .ja  v a 2s  . c o  m
}

From source file:com.abiquo.server.core.cloud.VirtualApplianceDAO.java

License:Open Source License

/**
 * @param user, only users with restricted VDCs. If no restricted then use user = null
 *//*from   w w w. j a  v  a  2 s  .  c  o m*/
public List<VirtualAppliance> findByEnterprise(final Enterprise enterprise, final FilterOptions filterOptions,
        final User user) {
    if (filterOptions == null) {
        return findByEnterprise(enterprise);
    }

    // Check if the orderBy element is actually one of the available ones
    VirtualAppliance.OrderByEnum orderByEnum = VirtualAppliance.OrderByEnum
            .valueOf(filterOptions.getOrderBy().toUpperCase());

    Integer limit = filterOptions.getLimit();
    Integer startwith = filterOptions.getStartwith();
    String filter = filterOptions.getFilter();
    boolean asc = filterOptions.getAsc();

    Criteria criteria = createCriteria(enterprise, filter, orderByEnum, asc);

    // Check if the page requested is bigger than the last one
    Long total = count(criteria);
    criteria = createCriteria(enterprise, filter, orderByEnum, asc);
    Integer totalResults = total.intValue();
    limit = limit != 0 ? limit : totalResults;
    if (limit != null) {
        criteria.setMaxResults(limit);
    }

    if (startwith >= totalResults) {
        startwith = totalResults - limit;
    }
    criteria.setFirstResult(startwith);
    criteria.setMaxResults(limit);

    if (user != null) {
        criteria.createAlias(VirtualAppliance.VIRTUAL_DATACENTER_PROPERTY, "virtualdatacenter");
        criteria.add(
                Restrictions.in("virtualdatacenter." + PersistentEntity.ID_PROPERTY, availableVdsToUser(user)));
    }

    List<VirtualAppliance> result = getResultList(criteria);

    PagedList<VirtualAppliance> page = new PagedList<VirtualAppliance>();
    page.addAll(result);
    page.setCurrentElement(startwith);
    page.setPageSize(limit);
    page.setTotalResults(totalResults);

    return page;
}

From source file:com.abiquo.server.core.cloud.VirtualMachineDAO.java

License:Open Source License

public List<VirtualMachine> findVirtualMachinesNotAllocatedCompatibleHypervisor(final Hypervisor hypervisor) {
    Criteria criteria = createCriteria();
    criteria.createAlias(VirtualMachine.VIRTUAL_MACHINE_TEMPLATE_PROPERTY, "template");
    Restrictions.and(Restrictions.eq(VirtualMachine.HYPERVISOR_PROPERTY, null),
            Restrictions.in("template." + VirtualMachineTemplate.DISKFORMAT_TYPE_PROPERTY,
                    Arrays.asList(hypervisor.getType().compatibleFormats)));
    criteria.addOrder(Order.asc(VirtualMachine.NAME_PROPERTY));
    List<VirtualMachine> result = getResultList(criteria);
    return result;
}