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:pe.gob.mef.gescon.hibernate.impl.DiscusionHistDaoImpl.java

@Override
public TdiscusionHist getTdiscusionHistByTconocimiento(BigDecimal idconocimiento) throws Exception {
    DetachedCriteria proj = DetachedCriteria.forClass(TdiscusionHist.class);
    proj.setProjection(Projections.max("nnumversion"));
    proj.add(Restrictions.eq("nconocimientoid", idconocimiento));
    DetachedCriteria criteria = DetachedCriteria.forClass(TdiscusionHist.class);
    criteria.add(Restrictions.eq("nconocimientoid", idconocimiento));
    criteria.add(Property.forName("nnumversion").eq(proj));
    return (TdiscusionHist) DataAccessUtils.uniqueResult(getHibernateTemplate().findByCriteria(criteria));
}

From source file:pe.gob.mef.gescon.hibernate.impl.HistorialDaoImpl.java

@Override
public Thistorial getLastThistorialByTconocimiento(BigDecimal idconocimiento) throws Exception {
    DetachedCriteria proj = DetachedCriteria.forClass(Thistorial.class);
    proj.setProjection(Projections.max("nnumversion"));
    proj.add(Restrictions.eq("id.nconocimientoid", idconocimiento));
    DetachedCriteria criteria = DetachedCriteria.forClass(Thistorial.class);
    criteria.add(Restrictions.eq("id.nconocimientoid", idconocimiento));
    criteria.add(Property.forName("nnumversion").eq(proj));
    return (Thistorial) DataAccessUtils.uniqueResult(getHibernateTemplate().findByCriteria(criteria));
}

From source file:pe.gob.mef.gescon.hibernate.impl.PassDaoImpl.java

@Override
public Tpass getTpassByMtuser(Mtuser mtuser) throws Exception {
    DetachedCriteria proj = DetachedCriteria.forClass(Tpass.class);
    proj.add(Restrictions.eq("id.nusuarioid", mtuser.getNusuarioid()));
    proj.setProjection(Projections.max("dfechacreacion"));
    DetachedCriteria criteria = DetachedCriteria.forClass(Tpass.class);
    criteria.add(Restrictions.eq("id.nusuarioid", mtuser.getNusuarioid()));
    criteria.add(Property.forName("dfechacreacion").eq(proj));
    return (Tpass) DataAccessUtils.uniqueResult(getHibernateTemplate().findByCriteria(criteria));
}

From source file:ru.sincore.db.dao.ClientCountDAOImpl.java

License:Open Source License

@Override
public Long getMaxCount() {
    Session session = HibernateUtils.getSessionFactory().openSession();
    Transaction tx = session.getTransaction();

    Long result;/*w w  w.j av a 2s .  c o  m*/

    try {
        tx.begin();

        Criteria criteria = session.createCriteria(ClientCountPOJO.class);
        criteria.setProjection(Projections.max("count"));

        result = (Long) criteria.uniqueResult();

        tx.commit();
    } catch (HibernateException e) {
        tx.rollback();
        log.error(e.toString());
        return 0L;
    }

    return result;
}

From source file:ru.sincore.db.dao.ShareSizeDAOImpl.java

License:Open Source License

@Override
public Long getMaxShareSize() {
    Session session = HibernateUtils.getSessionFactory().openSession();
    Transaction tx = session.getTransaction();

    Long result;/*from   w  w w .ja  v  a2s  .  c  o  m*/

    try {
        tx.begin();

        Criteria criteria = session.createCriteria(ShareSizePOJO.class);
        criteria.setProjection(Projections.max("shareSize"));

        result = (Long) criteria.uniqueResult();

        tx.commit();
    } catch (HibernateException e) {
        tx.rollback();
        log.error(e.toString());
        return 0L;
    }

    return result;
}

From source file:smsims.db.DbOperation.java

/**
 * Returns the latest session ID. If there are no records returns null.
 * //from   w  w  w . j  ava2s . co  m
 * @return 
 */
public String getLatestSessionId() {
    Session session = null;
    Transaction tx = null;
    String latestSessionId = null;

    try {
        session = sessionFactory.openSession();
        tx = session.beginTransaction();
        DetachedCriteria maxId = DetachedCriteria.forClass(MessageResult.class)
                .setProjection(Projections.max("sessionId"));
        Criteria criteria = session.createCriteria(MessageResult.class);

        criteria.setProjection(Projections.max("sessionId"));
        criteria.add(Property.forName("sessionId").eq(maxId));
        List list = criteria.add(Property.forName("sessionId").eq(maxId)).list();
        if (list.size() > 0 && list.get(0) != null) {
            latestSessionId = list.get(0).toString();
        }

        // Committing the change in the database.
        session.flush();
        tx.commit();
    } catch (Exception ex) {
        ex.printStackTrace();

        // Rolling back the changes to make the data consistent in case of any failure 
        // in between multiple database write operations.
        tx.rollback();
        //            throw ex;
    } finally {
        if (session != null) {
            session.close();
        }
    }
    return latestSessionId;
}

From source file:to.etc.domui.hibernate.model.CriteriaCreatingVisitor.java

License:Open Source License

@Override
public void visitPropertySelection(QPropertySelection n) throws Exception {
    String name = parseSubcriteria(n.getProperty());

    switch (n.getFunction()) {
    default:/* w  ww .  j a  v  a  2 s. c  o  m*/
        throw new IllegalStateException("Unexpected selection item function: " + n.getFunction());
    case AVG:
        m_lastProj = Projections.avg(name);
        break;
    case MAX:
        m_lastProj = Projections.max(name);
        break;
    case MIN:
        m_lastProj = Projections.min(name);
        break;
    case SUM:
        m_lastProj = Projections.sum(name);
        break;
    case COUNT:
        m_lastProj = Projections.count(name);
        break;
    case COUNT_DISTINCT:
        m_lastProj = Projections.countDistinct(name);
        break;
    case ID:
        m_lastProj = Projections.id();
        break;
    case PROPERTY:
        m_lastProj = Projections.groupProperty(name);
        break;
    case ROWCOUNT:
        m_lastProj = Projections.rowCount();
        break;
    case DISTINCT:
        m_lastProj = Projections.distinct(Projections.property(name));
        break;
    }
}

From source file:uk.org.openeyes.DatabaseFunctions.java

/**
 *  This method can be used with IOLM700 when we extract the string representation of the Eye Status
 * @param EyeStatus/*  w  ww . ja  v a 2 s  .  c  o  m*/
 */
public Integer getEyeStatusFromSting(String eyeStatus) {
    DicomEyeStatus status;
    Criteria crit = session.createCriteria(DicomEyeStatus.class);
    crit.add(Restrictions.eq("name", eyeStatus));
    List statusList = crit.list();

    System.out.println("Eye status: " + eyeStatus);

    if (statusList.isEmpty()) {
        DetachedCriteria criteria = DetachedCriteria.forClass(DicomEyeStatus.class)
                .setProjection(Projections.max("id"));
        Integer maxId = (Integer) criteria.getExecutableCriteria(session).list().get(0);
        Integer newId = 0;
        status = new DicomEyeStatus();
        status.setName(eyeStatus);

        if (maxId < 1000) {
            newId = 1000;
        } else {
            newId = maxId + 1;
        }
        status.setId(newId);
        session.save(status);
        session.flush();
    } else {
        status = (DicomEyeStatus) statusList.get(0);
    }

    return status.getId();
}