List of usage examples for org.hibernate.criterion Projections groupProperty
public static PropertyProjection groupProperty(String propertyName)
From source file:com.griffinslogistics.book.BookService.java
@Override public List<BookModel> getBookModelsByTransportId(Long transportId) { logger.log(Level.SEVERE, "{0}: getBookModelsByTransportation started", CLASS_NAME); List<BookModel> resultList = new ArrayList<BookModel>(); try {/*from w w w.j av a 2 s . c o m*/ DetachedCriteria criteria = DetachedCriteria.forClass(Book.class); criteria.add(Restrictions.eq("transportId", transportId)); criteria.setProjection( Projections.projectionList().add(Projections.groupProperty("bookNumber"), "bookNumber") .add(Projections.property("title"), "title")) .setResultTransformer(Transformers.aliasToBean(BookModel.class)); resultList = (List<BookModel>) this.dao.getAllByDetachedCriteria(criteria); Collections.reverse(resultList); } catch (HibernateException e) { logger.log(Level.SEVERE, e.getMessage()); } finally { logger.log(Level.SEVERE, "{0}: getBookModelsByTransportation finished", CLASS_NAME); } return resultList; }
From source file:com.griffinslogistics.db.helpers.BooksHelper.java
public List<BookModel> getBookModelsByTransportation(Transportation transportation) { logger.log(Level.SEVERE, "{0}: getBookModelsByTransportation started", CLASS_NAME); List<BookModel> resultList = new ArrayList<BookModel>(); this.session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = this.session.beginTransaction(); try {/* w ww .j a va 2s .c o m*/ Criteria criteria = this.session.createCriteria(Book.class); criteria.add(Restrictions.eq("transportation", transportation)); criteria.setProjection( Projections.projectionList().add(Projections.groupProperty("bookNumber"), "bookNumber") .add(Projections.property("title"), "title")) .setResultTransformer(Transformers.aliasToBean(BookModel.class)); resultList = criteria.list(); Collections.reverse(resultList); transaction.commit(); } catch (HibernateException e) { transaction.rollback(); logger.log(Level.SEVERE, e.getMessage()); } finally { this.session.close(); logger.log(Level.SEVERE, "{0}: getBookModelsByTransportation finished", CLASS_NAME); } return resultList; }
From source file:com.heliosapm.aa4h.parser.XMLQueryParser.java
License:Apache License
/** * Adds a new projection to the current projectionList stack. * Mandatory Attributes:<ul>/*w w w .ja v a2 s. c o m*/ * <li><b>name</b>: The field to create a projection on.</li> * <li><b>type</b>: The projection type.</li> * <li><b>alias</b>: The name applied to the projection returned field.</li> * </ul> * @param attrs The attributes of the processed node. * @throws SAXException * TODO: Implement checks for mandatory attributes. */ public void addProjection(Attributes attrs) throws SAXException { ProjectionList projectionList = projectionStack.peek(); if (projectionList == null) { throw new SAXException( "Attempted to add Projection and no ProjectionList Exists On The Stack. (Projection must be embedded inside a Projections)"); } String type = attrs.getValue("type"); String name = attrs.getValue("name"); String alias = attrs.getValue("alias"); if ("avg".equalsIgnoreCase(type)) { projectionList.add(Projections.avg(name), alias); } else if ("count".equalsIgnoreCase(type)) { projectionList.add(Projections.count(name), alias); } else if ("countDistinct".equalsIgnoreCase(type)) { projectionList.add(Projections.countDistinct(name), alias); } else if ("groupProperty".equalsIgnoreCase(type)) { projectionList.add(Projections.groupProperty(name), alias); } else if ("max".equalsIgnoreCase(type)) { projectionList.add(Projections.max(name), alias); } else if ("min".equalsIgnoreCase(type)) { projectionList.add(Projections.min(name), alias); } else if ("sum".equalsIgnoreCase(type)) { projectionList.add(Projections.sum(name), alias); } else if ("rowCount".equalsIgnoreCase(type)) { projectionList.add(Projections.rowCount(), alias); } }
From source file:com.hibernate.dao.AsesinosDAO.java
@Override public List<Asesinos> getAsesinosListByProjection() { List<Asesinos> peliculas1 = session.createCriteria(Asesinos.class)//.list(); .setProjection(Projections.projectionList().add(Projections.rowCount()) .add(Projections.avg("personasasesinadas")).add(Projections.max("personasasesinadas")) .add(Projections.groupProperty("formato").as("ao")) ).list();// ww w . j a v a 2 s. c o m return peliculas1; }
From source file:com.hypersocket.repository.AbstractRepositoryImpl.java
License:Open Source License
@Override public List<?> getCounts(Class<?> clz, String groupBy, CriteriaConfiguration... configs) { Criteria criteria = createCriteria(clz); for (CriteriaConfiguration c : configs) { c.configure(criteria);//from ww w .jav a2 s . c om } criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); criteria.setProjection(Projections.projectionList().add(Projections.groupProperty(groupBy)) .add(Projections.count(groupBy))); return criteria.list(); }
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);//w w w. ja va 2s . co 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(); }