List of usage examples for org.hibernate.criterion DetachedCriteria forClass
public static DetachedCriteria forClass(Class clazz)
From source file:com.inkubator.hrm.dao.impl.EmpCareerHistoryDaoImpl.java
@Override public Long getTotalEmpCareerHistoryDataByParamReport(ReportEmpMutationParameter searchParameter) { Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); doSearchEmpRotasiByParamReport(searchParameter, criteria); DetachedCriteria maxTglPengangkatanQuery = DetachedCriteria.forClass(getEntityClass()); ProjectionList proj = Projections.projectionList(); proj.add(Projections.max("tglPenganngkatan")); proj.add(Projections.groupProperty("nik")); maxTglPengangkatanQuery.setProjection(proj); criteria.add(Subqueries.propertiesIn(new String[] { "tglPenganngkatan", "nik" }, maxTglPengangkatanQuery)); return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
@Override public List<EmpData> getEmployeeBySearchEmployeeLeave(DistributionLeaveSchemeModel model) { DetachedCriteria listEmp = DetachedCriteria.forClass(LeaveDistribution.class) .setProjection(Property.forName("empData.id")).createAlias("leave", "lv", JoinType.INNER_JOIN) .add(Restrictions.eq("lv.id", model.getLeaveSchemeId())); Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); /**//from w ww. j a va 2s . c o m * automatically get relations of jabatanByJabatanId, department, * company don't create alias for that entity, or will get error : * duplicate association path */ criteria = this.addJoinRelationsOfCompanyId(criteria, HrmUserInfoUtil.getCompanyId()); criteria.add(Restrictions.neOrIsNotNull("status", HRMConstant.EMP_TERMINATION)); // criteria.createAlias("leaveDistributions", "lv", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("employeeType", "empType", JoinType.INNER_JOIN); criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN); criteria.createAlias("golonganJabatan", "goljab", JoinType.INNER_JOIN); criteria.add(Property.forName("id").notIn(listEmp)); criteria.add(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)); //ambil yg working groupnya bukan yg dipilih, dan belum punya working group // if (model.getLeaveSchemeId() != 0 || model.getLeaveSchemeId() != null) { // Disjunction disjunction = Restrictions.disjunction(); // disjunction.add(Restrictions.isNull("lv.empData")); // disjunction.add(Restrictions.not(Restrictions.eq("lv.leave.id", model.getLeaveSchemeId()))); // criteria.add(disjunction); // } //balance // if (model.getStartBalance() != 0.0){ // criteria.add(Restrictions.eq("lv.balance", model.getStartBalance())); // } //departermen equal or like if (model.getDepartmentLikeOrEqual() != 3) { if (Objects.equals(model.getDepartmentLikeOrEqual(), HRMConstant.DEPARTMENT_EQUAL)) { criteria.add(Restrictions.eq("department.departmentName", model.getDepartmentName())); } else { criteria.add(Restrictions.like("department.departmentName", model.getDepartmentName(), MatchMode.ANYWHERE)); } } //employee type equal or likeS if (model.getEmployeeTypeLikeOrEqual() != 3) { if (Objects.equals(model.getEmployeeTypeLikeOrEqual(), HRMConstant.EMPLOYEE_TYPE_EQUAL)) { criteria.add(Restrictions.eq("empType.name", model.getEmployeeTypeName())); } else { criteria.add(Restrictions.like("empType.name", model.getEmployeeTypeName(), MatchMode.ANYWHERE)); } } //gender criteria.add(Restrictions.eq("bio.gender", model.getGender())); //goljab if (model.getGolonganJabatanId() != 0) { criteria.add(Restrictions.eq("goljab.id", model.getGolonganJabatanId())); } String sortBy; if (Objects.equals(model.getSortBy(), HRMConstant.SORT_BY_NIK)) { sortBy = "nik"; } else { sortBy = "bio.firstName"; } if (Objects.equals(model.getOrderBy(), HRMConstant.ORDER_BY_ASC)) { criteria.addOrder(Order.asc(sortBy)); } else { criteria.addOrder(Order.desc(sortBy)); } criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return criteria.list(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
@Override public List<EmpData> getEmployeeByOtSearchParameter(DistributionOvetTimeModel model) { DetachedCriteria listEmp = DetachedCriteria.forClass(OverTimeDistribution.class) .setProjection(Property.forName("empData.id")) .createAlias("wtOverTime", "wtOverTime", JoinType.INNER_JOIN) .add(Restrictions.eq("wtOverTime.id", model.getOverTimeId())); Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); /**/* w w w. j a va 2 s . co m*/ * automatically get relations of jabatanByJabatanId, department, * company don't create alias for that entity, or will get error : * duplicate association path */ criteria = this.addJoinRelationsOfCompanyId(criteria, HrmUserInfoUtil.getCompanyId()); criteria.add(Restrictions.neOrIsNotNull("status", HRMConstant.EMP_TERMINATION)); criteria.createAlias("overTimeDistributions", "ot", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("ot.wtOverTime", "wt", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("employeeType", "empType", JoinType.INNER_JOIN); criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN); criteria.add(Property.forName("id").notIn(listEmp)); // criteria.createAlias("golonganJabatan", "goljab", JoinType.INNER_JOIN); /*if (model.getOverTimeId() != 0 || model.getOverTimeId() != null) { Criterion andCondition = Restrictions.conjunction() .add(Restrictions.isNotNull("ot.empData")) .add(Restrictions.not(Restrictions.eq("wt.id", model.getOverTimeId()))); // criteria.add(Restrictions.isNull("ot.empData")); Criterion completeCondition = Restrictions.disjunction().add(andCondition) .add(Restrictions.isNull("ot.empData")); // Disjunction conjunction = Restrictions.conjunction(); // disjunction.add(Restrictions.isNotNull("ot.empData")); // disjunction.add(Restrictions.not(Restrictions.eq("ot.wtOverTime.id", model.getOverTimeId()))); criteria.add(completeCondition); }*/ //balance // if (model.getStartBalance() != 0.0){ // criteria.add(Restrictions.eq("lv.balance", model.getStartBalance())); // } //departermen equal or like if (model.getDepartmentLikeOrEqual() != 3) { if (Objects.equals(model.getDepartmentLikeOrEqual(), HRMConstant.DEPARTMENT_EQUAL)) { criteria.add(Restrictions.eq("department.departmentName", model.getDepartmentName())); } else { criteria.add(Restrictions.like("department.departmentName", model.getDepartmentName(), MatchMode.ANYWHERE)); } } //employee type equal or likeS if (model.getEmployeeTypeLikeOrEqual() != 3) { if (Objects.equals(model.getEmployeeTypeLikeOrEqual(), HRMConstant.EMPLOYEE_TYPE_EQUAL)) { criteria.add(Restrictions.eq("empType.name", model.getEmployeeTypeName())); } else { criteria.add(Restrictions.like("empType.name", model.getEmployeeTypeName(), MatchMode.ANYWHERE)); } } //gender criteria.add(Restrictions.eq("bio.gender", model.getGender())); //goljab if (model.getGolonganJabatanId() != 0) { criteria.add(Restrictions.eq("goljab.id", model.getGolonganJabatanId())); } String sortBy; if (Objects.equals(model.getSortBy(), HRMConstant.SORT_BY_NIK)) { sortBy = "nik"; } else { sortBy = "bio.firstName"; } if (Objects.equals(model.getOrderBy(), HRMConstant.ORDER_BY_ASC)) { criteria.addOrder(Order.asc(sortBy)); } else { criteria.addOrder(Order.desc(sortBy)); } criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return criteria.list(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
/** * automatically get relations of jabatanByJabatanId, department, company * don't create alias for that entity, or will get error : duplicate * association path//from ww w. j a v a 2 s .co m */ /* criteria = this.addJoinRelationsOfCompanyId(criteria, HrmUserInfoUtil.getCompanyId()); criteria.add(Restrictions.neOrIsNotNull("status", HRMConstant.EMP_TERMINATION)); // criteria.createAlias("leaveDistributions", "lv", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("employeeType", "empType", JoinType.INNER_JOIN); criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN); criteria.createAlias("golonganJabatan", "goljab", JoinType.INNER_JOIN); criteria.add(Property.forName("id").notIn(listEmp)); //ambil yg working groupnya bukan yg dipilih, dan belum punya working group // if (model.getLeaveSchemeId() != 0 || model.getLeaveSchemeId() != null) { // Disjunction disjunction = Restrictions.disjunction(); // disjunction.add(Restrictions.isNull("lv.empData")); // disjunction.add(Restrictions.not(Restrictions.eq("lv.leave.id", model.getLeaveSchemeId()))); // criteria.add(disjunction); // } */ @Override public List<EmpData> getEmployeeBySearchEmployeePermit(PermitDistributionModel model) { DetachedCriteria listEmp = DetachedCriteria.forClass(PermitDistribution.class) .setProjection(Property.forName("empData.id")) .createAlias("permitClassification", "pc", JoinType.INNER_JOIN) .add(Restrictions.eq("pc.id", model.getPermitId())); Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); /** * automatically get relations of jabatanByJabatanId, department, * company don't create alias for that entity, or will get error : * duplicate association path */ criteria = this.addJoinRelationsOfCompanyId(criteria, HrmUserInfoUtil.getCompanyId()); criteria.add(Restrictions.neOrIsNotNull("status", HRMConstant.EMP_TERMINATION)); criteria.createAlias("permitDistributions", "lv", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("employeeType", "empType", JoinType.INNER_JOIN); criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN); criteria.createAlias("golonganJabatan", "goljab", JoinType.INNER_JOIN); criteria.add(Property.forName("id").notIn(listEmp)); //ambil yg working groupnya bukan yg dipilih, dan belum punya working group /*if (model.getPermitId() != 0 || model.getPermitId() != null) { Disjunction disjunction = Restrictions.disjunction(); disjunction.add(Restrictions.isNull("permitDistributions")); disjunction.add(Restrictions.not(Restrictions.eq("lv.permitClassification.id", model.getPermitId()))); //disjunction.add(Restrictions.sqlRestriction(sql, values, types)); criteria.add(disjunction); }*/ //balance // if (model.getStartBalance() != 0.0){ // criteria.add(Restrictions.eq("lv.balance", model.getStartBalance())); // } //departermen equal or like if (model.getDepartmentLikeOrEqual() != 3) { if (Objects.equals(model.getDepartmentLikeOrEqual(), HRMConstant.DEPARTMENT_EQUAL)) { criteria.add(Restrictions.eq("department.departmentName", model.getDepartmentName())); } else { criteria.add(Restrictions.like("department.departmentName", model.getDepartmentName(), MatchMode.ANYWHERE)); } } //employee type equal or likeS if (model.getEmployeeTypeLikeOrEqual() != 3) { if (Objects.equals(model.getEmployeeTypeLikeOrEqual(), HRMConstant.EMPLOYEE_TYPE_EQUAL)) { criteria.add(Restrictions.eq("empType.name", model.getEmployeeTypeName())); } else { criteria.add(Restrictions.like("empType.name", model.getEmployeeTypeName(), MatchMode.ANYWHERE)); } } //gender criteria.add(Restrictions.eq("bio.gender", model.getGender())); //goljab if (model.getGolonganJabatanId() != 0) { criteria.add(Restrictions.eq("goljab.id", model.getGolonganJabatanId())); } String sortBy; if (Objects.equals(model.getSortBy(), HRMConstant.SORT_BY_NIK)) { sortBy = "nik"; } else { sortBy = "bio.firstName"; } if (Objects.equals(model.getOrderBy(), HRMConstant.ORDER_BY_ASC)) { criteria.addOrder(Order.asc(sortBy)); } else { criteria.addOrder(Order.desc(sortBy)); } criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return criteria.list(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
@Override public List<EmpData> getListEmpDataWhichNotExistOnFingerEmpMatch() { Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); DetachedCriteria fingerMatchEmpCriteria = DetachedCriteria.forClass(FingerMatchEmp.class) .createAlias("empData", "empData", JoinType.INNER_JOIN) .setProjection(Projections.property("empData.id")); String[] propertyEmpDataId = { "id" }; criteria.add(Subqueries.propertiesNotIn(propertyEmpDataId, fingerMatchEmpCriteria)) .setFetchMode("bioData", FetchMode.JOIN).setFetchMode("jabatanByJabatanId", FetchMode.JOIN); return criteria.list(); }
From source file:com.inkubator.hrm.dao.impl.LoanNewApplicationInstallmentDaoImpl.java
@Override public LoanNewApplicationInstallment getLastPaidTerminInstallment(Integer LoanNewApplicationid) { Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); criteria.createAlias("loanNewApplication", "loanNewApplication", JoinType.INNER_JOIN); criteria.add(Restrictions.eq("loanNewApplication.id", LoanNewApplicationid)); DetachedCriteria criteriaWtPeriod = DetachedCriteria.forClass(WtPeriode.class) .add(Restrictions.eq("payrollType", HRMConstant.PERIODE_PAYROLL_ACTIVE)) .setProjection(Property.forName("fromPeriode")); criteria.add(Subqueries.propertyLt("installmentDate", criteriaWtPeriod)); criteria.addOrder(Order.desc("numOfInstallment")); criteria.setMaxResults(1);/*from ww w.ja v a 2s. c o m*/ LoanNewApplicationInstallment currentNextInstallment = (LoanNewApplicationInstallment) criteria .uniqueResult(); return currentNextInstallment; }
From source file:com.inkubator.hrm.dao.impl.LoanNewTypeDaoImpl.java
@Override public List<LoanNewType> getAllDataPayrollComponent(Long modelComponentId) { ProjectionList subProjection = Projections.projectionList(); subProjection.add(Projections.groupProperty("modelReffernsil")); DetachedCriteria subQuery = DetachedCriteria.forClass(PaySalaryComponent.class); subQuery.createAlias("modelComponent", "modelComponent", JoinType.INNER_JOIN); subQuery.add(Restrictions.eq("modelComponent.id", modelComponentId)); subQuery.setProjection(subProjection); Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); criteria.add(Property.forName("id").notIn(subQuery)); return criteria.list(); }
From source file:com.inkubator.hrm.dao.impl.TempJadwalKaryawanDaoImpl.java
@Override public List<TempJadwalKaryawan> getByGroupKerjadId(long kerjaId) { // Criteria criteria = getCurrentSession().createCriteria(EmpData.class); ProjectionList proList = Projections.projectionList(); // proList.add(Property.forName("sequence").max()); proList.add(Projections.groupProperty("id")); DetachedCriteria kelompokData = DetachedCriteria.forClass(EmpData.class).createAlias("wtGroupWorking", "wt") .add(Restrictions.eq("wt.id", kerjaId)).setProjection(proList); Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); criteria.createAlias("empData", "em"); criteria.add(Property.forName("em.id").in(kelompokData)); return criteria.list(); }
From source file:com.inkubator.hrm.dao.impl.TempJadwalKaryawanDaoImpl.java
@Override public List<TempJadwalKaryawan> getAllByMaxEndDate(Date date) { ProjectionList proList = Projections.projectionList(); proList.add(Property.forName("tanggalWaktuKerja").max()); proList.add(Projections.groupProperty("empData")); DetachedCriteria data = DetachedCriteria.forClass(getEntityClass()).setProjection(proList); Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); String[] var = { "tanggalWaktuKerja", "empData" }; criteria.add(Subqueries.propertiesIn(var, data)); criteria.add(Restrictions.le("tanggalWaktuKerja", date)); return criteria.list(); }
From source file:com.isdemu.dao.impl.TBC_ClaseActivoDaoImpl.java
@Override public List getTop() { // TODO Auto-generated method stub DetachedCriteria dc = DetachedCriteria.forClass(TbcClaseActivo.class); return dc.getExecutableCriteria(sessionFactory.getCurrentSession()).list(); }