Example usage for org.hibernate.criterion Projections max

List of usage examples for org.hibernate.criterion Projections max

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections max.

Prototype

public static AggregateProjection max(String propertyName) 

Source Link

Document

A property maximum value projection

Usage

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;
    }
    }
}