List of usage examples for org.hibernate.criterion Projections max
public static AggregateProjection max(String propertyName)
From source file:com.medicfast.DAO.SenhaDAO.java
public Senha buscarProximaSenha() { // nao usado Session session = (Session) em.getDelegate(); DetachedCriteria max = DetachedCriteria.forClass(Senha.class); max.add(Restrictions.eq("chamado", true)); max.setProjection(Projections.max("numero")); Criteria c = session.createCriteria(Senha.class); c.add(Restrictions.eq("chamado", false)); c.add(Property.forName("numero").eq(max)); return (Senha) c.uniqueResult(); }
From source file:com.overhead.markeugie.manager.ParticipantManager.java
@Override public int getMaxId() throws RemoteException { int id = 0;//from w ww . j a va2s . c om Session session = RegistrationHibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); Criteria criteria = session.createCriteria(Participants.class); criteria.setProjection(Projections.max("id")); criteria.setMaxResults(1); String lastId = (String) criteria.uniqueResult(); if (lastId == null || lastId.equals("")) { id = 0; } else { id = Integer.parseInt(lastId); } session.getTransaction().commit(); session.close(); return id; }
From source file:com.qcadoo.model.api.search.SearchProjections.java
License:Open Source License
/** * Creates projection which add given field to the "GROUP BY" clause and its "max" to the "SELECT" clause. * /*from www . j av a2 s. c om*/ * @param field * field * @return projection */ public static SearchProjection max(final String field) { return new SearchProjectionImpl(Projections.max(field)); }
From source file:com.romeikat.datamessie.core.base.dao.impl.AbstractEntityWithIdDao.java
License:Open Source License
@Override public Long getMaxId(final SharedSessionContract ssc) { // Query/*from ww w . j av a 2 s . c o m*/ final Criteria criteria = ssc.createCriteria(getEntityClass()); // Projection criteria.setProjection(Projections.max("id")); // Done final Long result = (Long) criteria.uniqueResult(); return result; }
From source file:com.romeikat.datamessie.core.base.dao.impl.DocumentDao.java
License:Open Source License
public LocalDateTime getMaxDownloaded(final SharedSessionContract ssc, final long crawlingId) { // Query: Document final EntityWithIdQuery<Document> documentQuery = new EntityWithIdQuery<>(Document.class); documentQuery.addRestriction(Restrictions.eq("crawlingId", crawlingId)); // Done//from w w w . j a va 2s. co m final Projection projection = Projections.max("downloaded"); final LocalDateTime maxDownloaded = (LocalDateTime) documentQuery.uniqueForProjection(ssc, projection); return maxDownloaded; }
From source file:com.romeikat.datamessie.core.rss.dao.CrawlingDao.java
License:Open Source License
public LocalDateTime getStartOfLatestCompletedCrawling(final SharedSessionContract ssc, final long projectId) { // Query: Crawling final EntityWithIdQuery<Crawling> crawlingQuery = new EntityWithIdQuery<>(Crawling.class); crawlingQuery.addRestriction(Restrictions.eq("projectId", projectId)); crawlingQuery.addRestriction(Restrictions.isNotNull("started")); crawlingQuery.addRestriction(Restrictions.isNotNull("completed")); // Done/*from w w w. j av a 2s .c o m*/ final Projection projection = Projections.max("started"); final LocalDateTime maxCompleted = (LocalDateTime) crawlingQuery.uniqueForProjection(ssc, projection); return maxCompleted; }
From source file:com.rta.vsd.data.service.impl.OwnerInfoDataServiceImpl.java
/** * // ww w.j av a 2 s.com * Gets the owner info from the latest plate details provided. * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param plateDetails * @return * @throws VSDDataAccessException */ public VsdOwnerInfo getOwnerInfoByLatestPlateDetails(DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate plateDetails) throws VSDDataAccessException { logger.info("getOwnerInfoByLatestPlateDetails -- START"); try { Session session = (Session) dsContext.getInternalContext(); DetachedCriteria dc = DetachedCriteria.forClass(VsdVehicleInfo.class, "vi") .add(Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.INNER_JOIN) .add(Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)); dc.setProjection(Projections.max("vi.createdTimestamp")); if (plateDetails != null && plateDetails.getPlateCategory() != null && !plateDetails.getPlateCategory().equals("")) { dc.add(Restrictions.eq("vi.vehiclePlateCategory", plateDetails.getPlateCategory())); } if (plateDetails != null && plateDetails.getPlateCode() != null && !plateDetails.getPlateCode().equals("")) { dc.add(Restrictions.eq("vi.vehiclePlateCode", plateDetails.getPlateCode())); } if (plateDetails != null && plateDetails.getPlateNumber() != null && !plateDetails.getPlateNumber().equals("")) { dc.add(Restrictions.eq("vi.vehiclePlateNumber", plateDetails.getPlateNumber())); } if (plateDetails != null && plateDetails.getPlateSource() != null && !plateDetails.getPlateSource().equals("")) { dc.add(Restrictions.eq("vi.vehiclePlateSource", plateDetails.getPlateSource())); } Criteria crit = session.createCriteria(VsdVehicleInfo.class, "vInfo") .createCriteria("vInfo.vsdOwnerInfos", "oi", Criteria.INNER_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vInfo.isDeleted", IDataService.BOOL_FALSE)) .add(Property.forName("vInfo.createdTimestamp").in(dc)); // crit.setProjection(Projections.property("vInfo.vehicleInfoId")); if (plateDetails != null && plateDetails.getPlateCategory() != null && !plateDetails.getPlateCategory().equals("")) { crit.add(Restrictions.eq("vInfo.vehiclePlateCategory", plateDetails.getPlateCategory())); } if (plateDetails != null && plateDetails.getPlateCode() != null && !plateDetails.getPlateCode().equals("")) { crit.add(Restrictions.eq("vInfo.vehiclePlateCode", plateDetails.getPlateCode())); } if (plateDetails != null && plateDetails.getPlateNumber() != null && !plateDetails.getPlateNumber().equals("")) { crit.add(Restrictions.eq("vInfo.vehiclePlateNumber", plateDetails.getPlateNumber())); } if (plateDetails != null && plateDetails.getPlateSource() != null && !plateDetails.getPlateSource().equals("")) { crit.add(Restrictions.eq("vInfo.vehiclePlateSource", plateDetails.getPlateSource())); } crit.addOrder(Order.desc("vInfo.createdTimestamp")); List<VsdVehicleInfo> vehicles = crit.list(); if (vehicles == null || vehicles.isEmpty()) return null; Long vehicleInfoId = (Long) vehicles.get(0).getVehicleInfoId(); System.out.println("vehicleInfoId " + vehicleInfoId); VsdOwnerInfo ownerInfo = (VsdOwnerInfo) session.createCriteria(VsdOwnerInfo.class, "oi") .add(Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.vehicleInfoId", vehicleInfoId)).uniqueResult(); logger.info("getOwnerInfoByLatestPlateDetails -- END"); return ownerInfo; } catch (Exception ex) { logger.error("An error occured in getOwnerInfoByLatestPlateDetails()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.segundo.piso.daos.impl.DAOReportImpl.java
@Override @Transactional//www .j av a2 s. c o m public List<ReporteAlumno> getStudentsByExpiredMovement(int clasesRestantes) { System.out.println(sessionFactory); StringBuilder restriction = new StringBuilder(); restriction.append("date_add(movimiento1_.fecha_inicio, interval 31 day) > curdate() ").append( "and date_add(movimiento1_.fecha_inicio, interval 31 day) < date_add(current_date(), interval 10 day)") .append("and movimiento1_.id_movimiento = asistencia2_.id_movimiento "); return this.sessionFactory.getCurrentSession().createCriteria(Alumno.class, "alumno") .createAlias("alumno.movimientoList", "movimiento") .createAlias("alumno.asistenciaList", "asistencia").createAlias("movimiento.idEvento", "evento") .setProjection(Projections.projectionList().add(Projections.property("alumno.codigo"), "codigo") .add(Projections.property("alumno.nombre"), "nombre") .add(Projections.min("asistencia.diasRestantes"), "clasesRestantes") .add(Projections.max("movimiento.idMovimiento")) .add(Projections.property("alumno.idAlumno"), "idAlumno") .add(Projections.max("movimiento.fechaInicio"), "fecha") .add(Projections.groupProperty("alumno.idAlumno"))) .add(Restrictions.sqlRestriction(restriction.toString())) .add(Restrictions.eq("movimiento.activo", true)).add(Restrictions.gt("evento.diasMes", 1)) .setResultTransformer(Transformers.aliasToBean(ReporteAlumno.class)) .addOrder(Order.desc("asistencia.diasRestantes")).list(); }
From source file:com.segundo.piso.daos.impl.DAOStudentImpl.java
@Override @Transactional/*from w w w .j a v a 2s . com*/ public String getLastCode(boolean alumno) { String code = (String) this.sessionFactory.getCurrentSession().createCriteria(Alumno.class) .setProjection(Projections.max("codigo")).add(Restrictions.eq("alumno", alumno)).uniqueResult(); int newCode = Integer.valueOf(code); return String.valueOf(++newCode); }
From source file:com.smartitengineering.dao.impl.hibernate.AbstractDAO.java
License:Open Source License
@SuppressWarnings("unchecked") private void processCriteria(Criteria criteria, String element, QueryParameter parameter) { switch (parameter.getParameterType()) { case PARAMETER_TYPE_PROPERTY: { criteria.add(getCriterion(element, parameter)); return;/*from w w w. j ava2 s .c o m*/ } case PARAMETER_TYPE_ORDER_BY: { final Order order; SimpleNameValueQueryParameter<com.smartitengineering.dao.common.queryparam.Order> queryParameter = QueryParameterCastHelper.SIMPLE_PARAM_HELPER .cast(parameter); com.smartitengineering.dao.common.queryparam.Order requestedOrder = queryParameter.getValue(); switch (requestedOrder) { case ASC: { order = Order.asc(element); break; } case DESC: { order = Order.desc(element); break; } default: { order = null; break; } } if (order != null) { criteria.addOrder(order); } return; } case PARAMETER_TYPE_MAX_RESULT: { ValueOnlyQueryParameter<Integer> queryParameter = QueryParameterCastHelper.VALUE_PARAM_HELPER .cast(parameter); criteria.setMaxResults(queryParameter.getValue()); return; } case PARAMETER_TYPE_FIRST_RESULT: { ValueOnlyQueryParameter<Integer> queryParameter = QueryParameterCastHelper.VALUE_PARAM_HELPER .cast(parameter); criteria.setFirstResult(queryParameter.getValue()); return; } case PARAMETER_TYPE_DISJUNCTION: { processDisjunction(criteria, parameter); return; } case PARAMETER_TYPE_CONJUNCTION: { processConjunction(criteria, parameter); return; } case PARAMETER_TYPE_NESTED_PROPERTY: { processNestedParameter(criteria, element, parameter); return; } case PARAMETER_TYPE_COUNT: { final Projection countProjection = Projections.count(element); setProjection(criteria, countProjection); return; } case PARAMETER_TYPE_ROW_COUNT: { final Projection rowCount = Projections.rowCount(); setProjection(criteria, rowCount); return; } case PARAMETER_TYPE_SUM: { final AggregateProjection sum = Projections.sum(element); setProjection(criteria, sum); return; } case PARAMETER_TYPE_MAX: { final AggregateProjection max = Projections.max(element); setProjection(criteria, max); return; } case PARAMETER_TYPE_MIN: { final AggregateProjection min = Projections.min(element); setProjection(criteria, min); return; } case PARAMETER_TYPE_AVG: { final AggregateProjection avg = Projections.avg(element); setProjection(criteria, avg); return; } case PARAMETER_TYPE_GROUP_BY: { final PropertyProjection groupProperty = Projections.groupProperty(element); setProjection(criteria, groupProperty); return; } case PARAMETER_TYPE_COUNT_DISTINCT: { final CountProjection countDistinct = Projections.countDistinct(element); setProjection(criteria, countDistinct); return; } case PARAMETER_TYPE_DISTINCT_PROP: { final Projection distinct = Projections.distinct(Projections.property(element)); setProjection(criteria, distinct); return; } case PARAMETER_TYPE_UNIT_PROP: { final PropertyProjection property = Projections.property(element); setProjection(criteria, property); return; } } }