Example usage for org.hibernate.criterion DetachedCriteria forClass

List of usage examples for org.hibernate.criterion DetachedCriteria forClass

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria forClass.

Prototype

public static DetachedCriteria forClass(Class clazz, String alias) 

Source Link

Document

Static builder to create a DetachedCriteria for the given entity, by its Class.

Usage

From source file:com.mec.DAO.Postgre.LocalidadPostgreDAO.java

public List<LocalidadTipo> getAll() {
    DetachedCriteria subCriteria = DetachedCriteria.forClass(DepartamentoTipo.class, "departamento")
            .add(Restrictions.eq("c_provincia", 18)).setProjection(Projections.property("departamento.id"));
    Criteria cr = getSessionPostgre().createCriteria(LocalidadTipo.class, "localidad");
    cr.add(Subqueries.propertyIn("localidad.cDepartamento.id", subCriteria));//localidades de Corrientes
    return lazyInit(cr.list());
}

From source file:com.rockagen.gnext.qo.QueryObject.java

License:Apache License

/**
 * Generate hibernate {@link DetachedCriteria}
 * /*from  w w w .  j  a v a  2s . co m*/
 * @param clazz
 * @param alias
 * @see DetachedCriteria
 * @see Restrictions
 */
public DetachedCriteria generateDetachedCriteria(final Class<?> clazz, String alias) {
    return DetachedCriteria.forClass(clazz, alias);
}

From source file:com.rta.vsd.data.service.impl.OwnerInfoDataServiceImpl.java

/**
 * /*from www  .j av  a2 s .c o m*/
 * Gets the owner info from the latest plate details provided.
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param plateDetails
 * @return 
 * @throws VSDDataAccessException
 */
public VsdOwnerInfo getOwnerInfoByLatestPlateDetails(DataServiceContext dsContext, boolean retrieveArabicData,
        VehiclePlate plateDetails) throws VSDDataAccessException {
    logger.info("getOwnerInfoByLatestPlateDetails -- START");
    try {
        Session session = (Session) dsContext.getInternalContext();
        DetachedCriteria dc = DetachedCriteria.forClass(VsdVehicleInfo.class, "vi")
                .add(Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.INNER_JOIN)
                .add(Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE));
        dc.setProjection(Projections.max("vi.createdTimestamp"));
        if (plateDetails != null && plateDetails.getPlateCategory() != null
                && !plateDetails.getPlateCategory().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateCategory", plateDetails.getPlateCategory()));
        }
        if (plateDetails != null && plateDetails.getPlateCode() != null
                && !plateDetails.getPlateCode().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateCode", plateDetails.getPlateCode()));
        }
        if (plateDetails != null && plateDetails.getPlateNumber() != null
                && !plateDetails.getPlateNumber().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateNumber", plateDetails.getPlateNumber()));
        }
        if (plateDetails != null && plateDetails.getPlateSource() != null
                && !plateDetails.getPlateSource().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateSource", plateDetails.getPlateSource()));
        }

        Criteria crit = session.createCriteria(VsdVehicleInfo.class, "vInfo")
                .createCriteria("vInfo.vsdOwnerInfos", "oi", Criteria.INNER_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("vInfo.isDeleted", IDataService.BOOL_FALSE))
                .add(Property.forName("vInfo.createdTimestamp").in(dc));
        //                     crit.setProjection(Projections.property("vInfo.vehicleInfoId"));                     
        if (plateDetails != null && plateDetails.getPlateCategory() != null
                && !plateDetails.getPlateCategory().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateCategory", plateDetails.getPlateCategory()));
        }
        if (plateDetails != null && plateDetails.getPlateCode() != null
                && !plateDetails.getPlateCode().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateCode", plateDetails.getPlateCode()));
        }
        if (plateDetails != null && plateDetails.getPlateNumber() != null
                && !plateDetails.getPlateNumber().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateNumber", plateDetails.getPlateNumber()));
        }
        if (plateDetails != null && plateDetails.getPlateSource() != null
                && !plateDetails.getPlateSource().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateSource", plateDetails.getPlateSource()));
        }
        crit.addOrder(Order.desc("vInfo.createdTimestamp"));
        List<VsdVehicleInfo> vehicles = crit.list();
        if (vehicles == null || vehicles.isEmpty())
            return null;
        Long vehicleInfoId = (Long) vehicles.get(0).getVehicleInfoId();
        System.out.println("vehicleInfoId " + vehicleInfoId);
        VsdOwnerInfo ownerInfo = (VsdOwnerInfo) session.createCriteria(VsdOwnerInfo.class, "oi")
                .add(Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("oi.vehicleInfoId", vehicleInfoId)).uniqueResult();

        logger.info("getOwnerInfoByLatestPlateDetails -- END");
        return ownerInfo;
    } catch (Exception ex) {
        logger.error("An error occured in getOwnerInfoByLatestPlateDetails()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}