Example usage for org.hibernate.criterion Restrictions sqlRestriction

List of usage examples for org.hibernate.criterion Restrictions sqlRestriction

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions sqlRestriction.

Prototype

public static Criterion sqlRestriction(String sql) 

Source Link

Document

Apply a constraint expressed in SQL with no JDBC parameters.

Usage

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

/**
 * //  w  ww .j ava 2  s.  c om
 * Get Vehicles By trafficFileNumber
 * populated DTOs are vsdVehPlateCatCode (twice), vsdVehicleManufacturers, vsdCountry, vsdRRProfilings(vehicle's rr not owner's rr)
 * 
 * @author Tayyab
 * @param dsContext
 * @param retrieveArabicData
 * @param trafficFileNumber
 * @return VsdVehicle
 * @throws VSDDataAccessException
 */
public List<VsdVehicle> getVehiclesByTrafficFileNumber(DataServiceContext dsContext, boolean retrieveArabicData,
        String trafficFileNumber) throws VSDDataAccessException {
    logger.info("getVehiclesByTrafficFileNumber -- START");
    List<VsdVehicle> vsdVehicles = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        vsdVehicles = session.createCriteria(VsdVehicle.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdVehicleManufacturers", "vm", Criteria.LEFT_JOIN,
                        Restrictions.eq("vm.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN,
                        Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("vo.trafficFileNumber", trafficFileNumber).ignoreCase())
                .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN,
                        Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdVehPlateCatCode", "vpcc", Criteria.LEFT_JOIN,
                        Restrictions.eq("vpcc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vpcc.vsdVehPlateCatCode", "pvpcc", Criteria.LEFT_JOIN,
                        Restrictions.eq("pvpcc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("pvpcc.vsdCountry", "c", Criteria.LEFT_JOIN,
                        Restrictions.eq("c.isDeleted", IDataService.BOOL_FALSE))
                //.addOrder(Order.desc("rrp.riskRatingScore"))
                .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.sqlRestriction("1=1 Order by {alias}.RISK_RATING_SCORE DESC NULLS LAST"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
    } catch (Exception ex) {
        logger.error("An error occured in getVehiclesByTrafficFileNumber()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getVehiclesByTrafficFileNumber -- END");
    return vsdVehicles;
}

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

/**
 * //from  w w  w.  j a  v  a  2s .  c  o  m
 * Gets the count for getVehiclesByTrafficFileNumber
 * 
 * @author Eldon
 * @param dsContext
 * @param retrieveArabicData
 * @param trafficFileNumber
 * @return Long
 * @throws VSDDataAccessException
 */
public Long getCountForGetVehiclesByTrafficFileNumber(DataServiceContext dsContext, boolean retrieveArabicData,
        String trafficFileNumber) throws VSDDataAccessException {
    logger.info("getCountForGetVehiclesByTrafficFileNumber -- START");
    try {
        Session session = (Session) dsContext.getInternalContext();
        Criteria crit = session.createCriteria(VsdVehicle.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdVehicleManufacturers", "vm", Criteria.LEFT_JOIN,
                        Restrictions.eq("vm.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN,
                        Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("vo.trafficFileNumber", trafficFileNumber).ignoreCase())
                .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN,
                        Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdVehPlateCatCode", "vpcc", Criteria.LEFT_JOIN,
                        Restrictions.eq("vpcc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vpcc.vsdVehPlateCatCode", "pvpcc", Criteria.LEFT_JOIN,
                        Restrictions.eq("pvpcc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("pvpcc.vsdCountry", "c", Criteria.LEFT_JOIN,
                        Restrictions.eq("c.isDeleted", IDataService.BOOL_FALSE))
                //.addOrder(Order.desc("rrp.riskRatingScore"))
                .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.sqlRestriction("1=1 Order by {alias}.RISK_RATING_SCORE DESC NULLS LAST"))
                .setProjection(Projections.countDistinct("v.vehicleId"));
        Long count = (Long) crit.uniqueResult();
        logger.info("getCountForGetVehiclesByTrafficFileNumber -- END");
        return count;
    } catch (Exception ex) {
        logger.error("An error occured in getCountForGetVehiclesByTrafficFileNumber()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * /*  ww  w .  j a  v a2  s.co m*/
 * Gets a list of violations that have the status and severity Level provided and are the specified amount of days since reported and the date passed to it. 
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param violationStatusId
 * @param severityLevelId
 * @param compareDate
 * @param issueDays
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsByIssueDays(DataServiceContext dsContext, boolean retrieveArabicData,
        Long violationStatusId, Long severityLevelId, Date compareDate, int issueDays)
        throws VSDDataAccessException {
    logger.info("getViolationsByIssueDays -- START");
    List<VsdViolation> violations = null;
    try {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Session session = (Session) dsContext.getInternalContext();
        violations = session.createCriteria(VsdViolation.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.sqlRestriction("to_date('" + dateFormat.format(compareDate)
                        + "','yyyy-MM-dd') - {alias}.REPORTED_DATE = " + issueDays))
                .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                        Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("vs.violationStatusId", violationStatusId))
                .createCriteria("v.vsdSeverityLevel", "s", Criteria.LEFT_JOIN,
                        Restrictions.eq("s.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("s.severityLevelId", severityLevelId))
                .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getViolationsByIssueDays -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsByIssueDays()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * /*  w w  w .ja  v  a  2s.c om*/
 * get Violations with tests By TrafficFileNumber And ChassisNumber
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param trafficFileNumber
 * @param List<vehicleChassisNumber>
 * @return List<Violation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithTestsByTrafficFileNumberAndChassisNumber(
        final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber,
        List<String> vehicleChassisNumber, int maxResults) throws VSDDataAccessException {
    logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- START");
    StringBuffer vehicleChassisNumberString = new StringBuffer(128);
    vehicleChassisNumberString.append("(");
    Iterator iterator = vehicleChassisNumber.iterator();
    while (iterator.hasNext()) {
        String chassissNumber = (String) iterator.next();
        vehicleChassisNumberString.append("'").append(chassissNumber.toLowerCase()).append("'");
        if (iterator.hasNext())
            vehicleChassisNumberString.append(", ");
    }
    vehicleChassisNumberString.append(")");
    List<VsdViolation> violations;
    try {
        Session session = (Session) dsContext.getInternalContext();
        ProjectionList projectionList = Projections.projectionList();
        projectionList.add(Projections.property("violation.violationId"), "violationId");
        projectionList.add(Projections.property("violation.reportedDate"), "reportedDate");

        Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation")
                .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.sqlRestriction(
                        "lower ({alias}.VEHICLE_CHASSIS_NUMBER) IN " + vehicleChassisNumberString))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase())
                .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.isNotNull("ct.createdTimestamp"))
                .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN,
                        Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN,
                        Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN,
                        Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN,
                        Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN,
                        Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN,
                        Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("pf.vsdPartner", "part", Criteria.LEFT_JOIN,
                        Restrictions.eq("part.isDeleted", IDataService.BOOL_FALSE))
                .setProjection(Projections.distinct(projectionList))
                .addOrder(Order.desc("violation.reportedDate"))
                .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class))
                .setMaxResults(maxResults);
        List list = projectionCriteria.list();
        logger.debug("list.size() : " + list.size());
        Set resultSet = new HashSet(list);
        logger.debug("resultSet.size() : " + resultSet.size());
        if (resultSet.size() == 0)
            return new ArrayList();
        iterator = resultSet.iterator();
        ArrayList innerQueryList = new ArrayList<Long>();
        while (iterator.hasNext()) {
            VsdViolation vsdViolation = (VsdViolation) iterator.next();
            innerQueryList.add(vsdViolation.getViolationId());
        }
        violations = session.createCriteria(VsdViolation.class, "violation")
                .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.sqlRestriction(
                        "lower ({alias}.VEHICLE_CHASSIS_NUMBER) IN " + vehicleChassisNumberString))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase())
                .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.isNotNull("ct.createdTimestamp"))
                .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN,
                        Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN,
                        Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN,
                        Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN,
                        Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN,
                        Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN,
                        Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("pf.vsdPartner", "part", Criteria.LEFT_JOIN,
                        Restrictions.eq("part.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.in("violation.violationId", innerQueryList))
                .addOrder(Order.desc("violation.reportedDate"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.debug("violations.size() : " + violations.size());
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsWithTestsByTrafficFileNumberAndChassisNumber()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- END");
    return violations;
}

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

/**
 * /*from w ww. j  av  a  2s  .c  o  m*/
 * get Violations with tests By TrafficFileNumber And ChassisNumber
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param trafficFileNumber
 * @param List<vehicleChassisNumber>
 * @return List<Violation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithTestsByTrafficFileNumberAndChassisNumber(
        final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber,
        List<String> vehicleChassisNumber) throws VSDDataAccessException {
    logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- START");
    StringBuffer vehicleChassisNumberString = new StringBuffer(128);
    vehicleChassisNumberString.append("(");
    Iterator iterator = vehicleChassisNumber.iterator();
    while (iterator.hasNext()) {
        String chassissNumber = (String) iterator.next();
        vehicleChassisNumberString.append("'").append(chassissNumber.toLowerCase()).append("'");
        if (iterator.hasNext())
            vehicleChassisNumberString.append(", ");
    }
    vehicleChassisNumberString.append(")");
    List<VsdViolation> violations;
    try {
        Session session = (Session) dsContext.getInternalContext();
        Criteria criteria = session.createCriteria(VsdViolation.class, "violation")
                .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.sqlRestriction(
                        "lower ({alias}.VEHICLE_CHASSIS_NUMBER) IN " + vehicleChassisNumberString))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase())
                .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.isNotNull("ct.createdTimestamp"))
                .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN,
                        Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN,
                        Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN,
                        Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN,
                        Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN,
                        Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN,
                        Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("pf.vsdPartner", "part", Criteria.LEFT_JOIN,
                        Restrictions.eq("part.isDeleted", IDataService.BOOL_FALSE))
                .addOrder(Order.desc("violation.reportedDate"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        violations = criteria.list();
        logger.debug("violations.size() : " + violations.size());
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsWithTestsByTrafficFileNumberAndChassisNumber()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- END");
    return violations;
}

From source file:com.sam.moca.job.dao.hibernate.JobDefinitionHibernateDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//w w w . j a  va  2  s .  c  o m
public List<JobDefinition> readForAllAndRoles(RoleDefinition... roles) {
    Criteria criteria = HibernateTools.getSession().createCriteria(JobDefinition.class);

    Criterion criterion = Restrictions.sqlRestriction("{alias}.role_id = '*'");

    if (roles.length > 0) {

        criterion = Restrictions.or(criterion, Restrictions.in("role", roles));
    }

    criteria.add(criterion);
    return (List<JobDefinition>) criteria.list();
}

From source file:com.sam.moca.job.dao.hibernate.JobDefinitionHibernateDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from  w  w w .j av  a2 s .  c  om
public List<JobDefinition> readForAllNoRoleAndRoles(RoleDefinition... roles) {
    Criteria criteria = HibernateTools.getSession().createCriteria(JobDefinition.class);

    Criterion criterion = null;
    Criterion firstCrit = Restrictions.sqlRestriction("{alias}.role_id = '*'");
    Criterion secondCrit = Restrictions.isNull("role");

    if (roles.length > 0) {

        criterion = Restrictions.or(firstCrit, secondCrit, Restrictions.in("role", roles));
    } else {
        criterion = Restrictions.or(firstCrit, secondCrit);
    }

    criteria.add(criterion);
    return (List<JobDefinition>) criteria.list();
}

From source file:com.sam.moca.task.dao.hibernate.TaskDefinitionHibernateDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override// w  w  w  .  j  ava  2  s. c  om
public List<TaskDefinition> readAllTasksForAllAndRoles(RoleDefinition... roles) {
    Criteria criteria = HibernateTools.getSession().createCriteria(TaskDefinition.class);

    Criterion criterion = Restrictions.sqlRestriction("{alias}.role_id = '*'");

    if (roles.length > 0) {
        Object[] values = new Object[roles.length];
        Type[] types = new Type[roles.length];
        StringBuilder builder = new StringBuilder("{alias}.task_id in (");

        for (int i = 0; i < roles.length; ++i) {
            if (i != 0) {
                builder.append(", ");
            }
            builder.append('?');
            values[i] = roles[i].getRoleId();
            types[i] = StandardBasicTypes.STRING;
        }

        builder.append(')');

        LogicalExpression expr = Restrictions.or(Restrictions.sqlRestriction(builder.toString(), values, types),
                Restrictions.in("role", roles));
        criterion = Restrictions.or(criterion, expr);
    }

    criteria.add(criterion);
    return (List<TaskDefinition>) criteria.list();
}

From source file:com.sap.data.db.dao.BapiFUPARAREFDao.java

public List<BapiFUPARAREFPojo> selectETParameters(String funcName) throws NotFoundException {
    List<BapiFUPARAREFPojo> list = null;
    Session session = null;//from  w w w .  j  av a 2s  .c  o m
    try {
        session = HibernateUtil.getSession();
        session.setCacheMode(CacheMode.GET);
        list = session.createCriteria("BapiFUPARAREFPojo").add(Restrictions.eq("id.FUNCNAME", funcName))
                .add(Restrictions.in("id.PARAMTYPE", new Object[] { "E", "T" }))
                .add(Restrictions.sqlRestriction("STRUCTURE not like('%-%')"))
                .addOrder(Order.asc("id.FUNCNAME")).addOrder(Order.asc("id.R3STATE"))
                .addOrder(Order.asc("id.PARAMETER")).addOrder(Order.asc("id.PARAMTYPE"))
                .addOrder(Order.asc("PPOSITION")).list();
    } catch (HibernateException ex) {
        Logger.getLogger(BapiFUPARAREFDao.class.getName()).log(Level.SEVERE, null, ex);
        throw new NotFoundException(ex.getMessage());
    } finally {
        HibernateUtil.close(session);
    }
    return list;
}

From source file:com.sccl.attech.modules.sys.service.DictService.java

License:Open Source License

public Page<Dict> find(Page<Dict> page, Dict dict) {
    // MyBatis /*  www .  j  a v  a2s  .  c o  m*/
    //      dict.setPage(page);
    //      page.setList(myBatisDictDao.find(dict));
    //      return page;
    // Hibernate 

    DetachedCriteria dc = dictDao.createDetachedCriteria();
    dc.setProjection(Projections.distinct(Projections.property("type")));
    if (StringUtils.isNotEmpty(dict.getLabel())) {
        dc.add(Restrictions.like("label", "%" + dict.getLabel() + "%"));
    }
    if (StringUtils.isNotEmpty(dict.getType())) {
        dc.add(Restrictions.eq("type", dict.getType()));
    }
    System.out.println(dict.getType());
    if (StringUtils.isNotEmpty(dict.getDescription())) {
        dc.add(Restrictions.like("description", "%" + dict.getDescription() + "%"));
    }

    //      if(StringUtils.isNotEmpty(dict.getParentId())){
    //         dc.add(Restrictions.sqlRestriction("parent_id = '"+dict.getParentId()+"'"));
    //         dc.add(Restrictions.like("parentIds", "%"+dict.getParentId()+"%"));//?
    //      }

    //      dc.add(Restrictions.sqlRestriction("parent_ids is not null"));
    dc.add(Restrictions.sqlRestriction("del_flag=0"));
    dc.add(Restrictions.eq(Dict.FIELD_DEL_FLAG, Dict.DEL_FLAG_NORMAL));

    dc.setResultTransformer(dc.DISTINCT_ROOT_ENTITY);
    return dictDao.find(page, dc);
}