List of usage examples for org.hibernate.criterion Projections countDistinct
public static CountProjection countDistinct(String propertyName)
From source file:com.rta.vsd.data.service.impl.VehicleDataServiceImpl.java
/** * /*from w w w . j a v a 2 s . c o m*/ * Gets count for a list of vehicles having an owner with the provided trade license number. The manufacturer(VsdVehicleManufacturer), risk rating (VsdRRProfiling,VsdRiskRating) and plate category code(VsdVehPlateCatCode) details will also be populated * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param Long * @throws VSDDataAccessException */ public Long getCountForVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber( DataServiceContext dsContext, boolean retrieveArabicData, String traficFileNo) throws VSDDataAccessException { logger.info( "getCountForVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber -- START"); Long count = null; try { Session session = (Session) dsContext.getInternalContext(); count = (Long) session.createCriteria(VsdVehicle.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN, Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vo.trafficFileNumber", traficFileNo).ignoreCase()) .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN, Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN, Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleManufacturers", "m", Criteria.LEFT_JOIN, Restrictions.eq("m.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)) .setProjection(Projections.countDistinct("v.vehicleId")).uniqueResult(); logger.info( "getCountForVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber -- END"); return count; } catch (Exception ex) { logger.error( "An error occured in getCountForVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.VehicleDataServiceImpl.java
/** * /*from w w w. j a v a2s .c o m*/ * Gets the count for getVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param traficFileNo * @param paginationValues * @return Long * @throws VSDDataAccessException */ public Long getCountForGetVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber( DataServiceContext dsContext, boolean retrieveArabicData, String traficFileNo) throws VSDDataAccessException { logger.info( "getCountForVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber -- START"); try { Session session = (Session) dsContext.getInternalContext(); Criteria crit = session.createCriteria(VsdVehicle.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN, Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vo.trafficFileNumber", traficFileNo).ignoreCase()) .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN, Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN, Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleManufacturers", "m", Criteria.LEFT_JOIN, Restrictions.eq("m.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)) .setProjection(Projections.countDistinct("v.vehicleId")); Long count = (Long) crit.uniqueResult(); logger.info( "getCountForVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber -- END"); return count; } catch (Exception ex) { logger.error( "An error occured in getCountForVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTrficFileNumber()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.VehicleDataServiceImpl.java
/** * /*from www .j av a 2s . com*/ * Gets the count for getVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param tradeLicenseNumber * @return Long * @throws VSDDataAccessException */ public Long getCountForGetVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber( DataServiceContext dsContext, boolean retrieveArabicData, String tradeLicenseNumber) throws VSDDataAccessException { logger.info( "getCountForGetVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber -- START"); try { Session session = (Session) dsContext.getInternalContext(); Criteria crit = session.createCriteria(VsdVehicle.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN, Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vo.tradeLicenseNumber", tradeLicenseNumber).ignoreCase()) .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN, Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN, Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleManufacturers", "m", Criteria.LEFT_JOIN, Restrictions.eq("m.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)) .addOrder(Order.desc("v.vehicleId")).setProjection(Projections.countDistinct("v.vehicleId")); Long count = (Long) crit.uniqueResult(); logger.info( "getCountForGetVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber -- END"); return count; } catch (Exception ex) { logger.error( "An error occured in getCountForGetVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * //from ww w. j a v a2 s . c o m * Gets the count for getViolationsByPlateDetails * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param vehiclePlateDetails * @return Long * @throws VSDDataAccessException */ public Long getCountForGetViolationsByPlateDetails(final DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate vehiclePlateDetails) throws VSDDataAccessException { logger.info("getCountForGetViolationsByPlateDetails -- START"); try { Session session = (Session) dsContext.getInternalContext(); Criteria crit = session.createCriteria(VsdViolation.class, "violaton") .add(Restrictions.eq("violaton.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdInspections", "inspections", Criteria.LEFT_JOIN, Restrictions.eq("inspections.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdVehicleInfo", "vehicleInfo", Criteria.LEFT_JOIN, Restrictions.eq("vehicleInfo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vehicleInfo.vehiclePlateCategory", vehiclePlateDetails.getPlateCategory()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateCode", vehiclePlateDetails.getPlateCode()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateSource", vehiclePlateDetails.getPlateSource()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateNumber", vehiclePlateDetails.getPlateNumber()) .ignoreCase()) .addOrder(Order.desc("violaton.violationId")) .setProjection(Projections.countDistinct("violaton.violationId")); Long count = (Long) crit.uniqueResult(); logger.info("getCountForGetViolationsByPlateDetails -- END"); return count; } catch (Exception ex) { logger.error("An error occured in getCountForGetViolationsByPlateDetails()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * //w w w .j av a2s . co m * Gets count of getViolationsWithInspections results * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @return Long * @throws VSDDataAccessException */ public Long getCountForGetViolationsWithInspections(DataServiceContext dsContext, boolean retrieveArabicData) throws VSDDataAccessException { logger.info("getCountForGetViolationsWithInspections -- START"); try { Session session = (Session) dsContext.getInternalContext(); Criteria crit = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdSeverityLevel", "vSev", Criteria.LEFT_JOIN, Restrictions.eq("vSev.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)) .addOrder(Order.desc("v.violationId")) .setProjection(Projections.countDistinct("v.violationId")); Long count = (Long) crit.uniqueResult(); logger.info("getCountForGetViolationsWithInspections -- END"); return count; } catch (Exception ex) { logger.error("An error occured in getCountForGetViolationsWithInspections()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*w w w.j a va2s . c o m*/ * Gets count for all the violations for vehicles owned by the owner with the specified trade license number * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param traficFileNo * @return Long * @throws VSDDataAccessException */ public Long getCountForViolationsByTraficFileNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String traficFileNo) throws VSDDataAccessException { logger.info("getCountForViolationsByTraficFileNumber -- START"); Long violationsCount = null; try { Session session = (Session) dsContext.getInternalContext(); violationsCount = (Long) session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .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)) .add(Restrictions.eq("oi.trafficFileNumber", traficFileNo).ignoreCase()) .setProjection(Projections.countDistinct("v.violationId")).uniqueResult(); logger.info("getCountForViolationsByTraficFileNumber -- END"); return violationsCount; } catch (Exception ex) { logger.error("An error occured in getCountForViolationsByTraficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from w w w . j a v a 2 s .c o m*/ * Gets the count for getViolationsByTradeLicenseNumber * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param tradeLicenseNumber * @return Long * @throws VSDDataAccessException */ public Long getCountForGetViolationsByTradeLicenseNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String tradeLicenseNumber) throws VSDDataAccessException { logger.info("getCountForGetViolationsByTradeLicenseNumber -- START"); try { Session session = (Session) dsContext.getInternalContext(); Criteria crit = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .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)) .add(Restrictions.eq("oi.tradeLicenseNumber", tradeLicenseNumber).ignoreCase()) .addOrder(Order.desc("v.violationId")) .setProjection(Projections.countDistinct("v.violationId")); Long count = (Long) crit.uniqueResult(); logger.info("getCountForGetViolationsByTradeLicenseNumber -- END"); return count; } catch (Exception ex) { logger.error("An error occured in getCountForGetViolationsByTradeLicenseNumber()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from w w w . j a va 2 s . com*/ * get count for Violations By ChassisNumber * associated overloaded method * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param vehicleChassisNumber * @return Long * @throws VSDDataAccessException */ public Long getCountForViolationsByChassisNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String vehicleChassisNumber) throws VSDDataAccessException { logger.info("getCountForViolationsByChassisNumber -- START"); Long violationsCount; try { Session session = (Session) dsContext.getInternalContext(); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.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.eq("vi.vehicleChassisNumber", vehicleChassisNumber).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.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)) .setProjection(Projections.countDistinct("violation.violationId")); violationsCount = (Long) projectionCriteria.uniqueResult(); logger.debug("violationsCount : " + violationsCount); } catch (Exception ex) { logger.error("An error occured in getCountForViolationsByChassisNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getCountForViolationsByChassisNumber -- END"); return violationsCount; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * //from w w w . ja v a2 s. co m * get count for Violations By VehiclePlate (For Webservice) * associated overloaded method * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param vehiclePlate * @return Long * @throws VSDDataAccessException */ public Long getCountForViolationsByVehiclePlateForWS(final DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate vehiclePlate) throws VSDDataAccessException { logger.info("getCountForViolationsByVehiclePlateForWS -- START"); Long violationsCount; try { Session session = (Session) dsContext.getInternalContext(); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.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.eq("vi.vehiclePlateCategory", vehiclePlate.getPlateCategory()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateCode", vehiclePlate.getPlateCode()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateSource", vehiclePlate.getPlateSource()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateNumber", vehiclePlate.getPlateNumber()).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.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)) .setProjection(Projections.countDistinct("violation.violationId")); violationsCount = (Long) projectionCriteria.uniqueResult(); logger.debug("violationsCount : " + violationsCount); } catch (Exception ex) { logger.error("An error occured in getCountForViolationsByVehiclePlateForWS()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getCountForViolationsByVehiclePlateForWS -- END"); return violationsCount; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from www . j a va 2s . c o m*/ * get Violations By TrafficFileNumber * getViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getCountForViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber, maxResults, firstResult) * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param maxResults * @param firstResult * @return List<Violation> * @throws VSDDataAccessException */ public Long getCountForViolationsByTrafficFileNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber) throws VSDDataAccessException { logger.info("getCountForViolationsByTrafficFileNumber -- START"); Long violationsCount = new Long(0); try { Session session = (Session) dsContext.getInternalContext(); 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)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("l.vsdLocation", "pl", Criteria.LEFT_JOIN, Restrictions.eq("pl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.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("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("d.vsdDefectCategory", "dc", Criteria.LEFT_JOIN, Restrictions.eq("dc.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", "partner", Criteria.LEFT_JOIN, Restrictions.eq("partner.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdFine", "vsdFine", Criteria.LEFT_JOIN, Restrictions.eq("vsdFine.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.countDistinct("violation.violationId")) .addOrder(Order.desc("violation.reportedDate")); violationsCount = (Long) projectionCriteria.uniqueResult(); logger.debug("violationsCount : " + violationsCount); } catch (Exception ex) { logger.error("An error occured in getCountForViolationsByTrafficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getCountForViolationsByTrafficFileNumber -- END"); return violationsCount; }