List of usage examples for org.hibernate.criterion ProjectionList add
public ProjectionList add(Projection projection)
From source file:com.ihsolution.hqipo.dao.utils.QueryHelper.java
License:Open Source License
protected String createProjection(String field) { String[] fStrs = field.split("\\."); String tmpField = ""; int len = fStrs.length; ProjectionList prList = Projections.projectionList(); if (len > 1) { for (int i = 0; len - i != 1; i++) { if (i == 0) { if (!projections.contains(fStrs[i])) { prList.add(Projections.property(fStrs[i])); projections.add(fStrs[i]); }/*from ww w.ja va 2 s . c om*/ } else { if (!projections.contains(fStrs[i])) { String str = fStrs[i - 1] + "." + fStrs[i]; prList.add(Projections.property(str), fStrs[i]); projections.add(fStrs[i]); } } } detCriteria.setProjection(prList); tmpField = fStrs[len - 1]; } else tmpField = field; return tmpField; }
From source file:com.inkubator.hrm.dao.impl.EmpCareerHistoryDaoImpl.java
@Override public List<EmpCareerHistory> getByParamReport(ReportEmpMutationParameter searchParameter, int firstResult, int maxResults, Order order) { Criteria criteria = getCurrentSession().createCriteria(getEntityClass()); criteria.createAlias("bioData", "bioData", JoinType.INNER_JOIN); criteria.createAlias("jabatan", "jabatan", JoinType.INNER_JOIN); 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)); criteria.addOrder(order);//from w w w . j a v a 2 s .c o m criteria.setFirstResult(firstResult); criteria.setMaxResults(maxResults); List<EmpCareerHistory> listEmpCareerHistorys = criteria.list(); //Set Jabatan Lama/sebelumnya dari masing - masing record for (EmpCareerHistory ech : listEmpCareerHistorys) { Criteria criteriaOldPosition = getCurrentSession().createCriteria(getEntityClass()); criteriaOldPosition.setFetchMode("jabatan", FetchMode.JOIN); criteriaOldPosition.add(Restrictions.eq("nik", ech.getNik())); criteriaOldPosition.add(Restrictions.lt("tglPenganngkatan", ech.getTglPenganngkatan())); criteriaOldPosition.addOrder(Order.desc("tglPenganngkatan")); criteriaOldPosition.setMaxResults(1); EmpCareerHistory prevPosition = (EmpCareerHistory) criteriaOldPosition.uniqueResult(); //jika sebelumnya dia sudah pernah menjabat di posisi lain maka set oldJabatan dengan posisi tersebut if (null != prevPosition) { ech.setJabatanOldCode(prevPosition.getJabatan().getCode()); ech.setJabatanOldName(prevPosition.getJabatan().getName()); } else { ech.setJabatanOldCode("-"); } } return listEmpCareerHistorys; }
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.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.jaspersoft.jasperserver.api.search.SearchCriteria.java
License:Open Source License
private Projection addProjectionToList(ProjectionList projectionList, Projection newProjection) { if (newProjection instanceof ProjectionList) { ProjectionList newProjectionList = ((ProjectionList) newProjection); for (int i = 0; i < newProjectionList.getLength(); i++) { projectionList.add(newProjectionList.getProjection(i)); }/*from w w w. j av a 2 s.com*/ } else { projectionList.add(newProjection); } return projectionList; }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
public List<ProcessDefinition> findProcessDefinitions(String name, boolean latest, int start, int end, OrderByComparator orderByComparator) { try {/*from w ww .j a v a 2 s .com*/ Criteria criteria = _session.createCriteria(ProcessDefinition.class); if (latest) { ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("name")); projectionList.add(Projections.max("version")); criteria.setProjection(projectionList); addOrder(criteria, orderByComparator, "version"); } if (name != null) { criteria.add(Restrictions.eq("name", name)); addOrder(criteria, orderByComparator, "name"); } if (latest == false && name == null) { addOrder(criteria, orderByComparator); } addPagination(criteria, start, end); if (latest) { List<Object[]> list = criteria.list(); List<String> names = new ArrayList<String>(list.size()); for (Object[] array : list) { names.add((String) array[0]); } return findProcessDefinitions(names); } else { return criteria.list(); } } catch (Exception e) { throw new JbpmException(e); } }
From source file:com.mg.framework.api.orm.Projections.java
License:Open Source License
/** * Create a new projection list/*from www . j ava 2s . c om*/ */ public static Projection projectionList(Projection... projections) { ProjectionList list = org.hibernate.criterion.Projections.projectionList(); for (Projection projection : projections) list.add(((GenericProjectionImpl) projection).getHibernateProjection()); return new GenericProjectionImpl(list); }
From source file:com.opiframe.DAO.TeacherDAO.java
public static List<Object[]> getTeacherCourses(String name) { List<Object[]> lst = null; try {/*from ww w . java 2s.c o m*/ ProjectionList projList = Projections.projectionList(); Session session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Teachers.class, "teach"); criteria.createCriteria("teach.courseses", "courseses"); projList.add(Projections.property("courseses.courseName")); projList.add(Projections.property("courseses.courseId")); criteria.setProjection(projList); criteria.add(Restrictions.eq("teach.teacherName", name)); lst = criteria.list(); session.close(); } catch (Exception e) { e.printStackTrace(); } return lst; }