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:mitm.common.security.certstore.dao.X509CertStoreDAOHibernate.java

License:Open Source License

@Override
public X509CertStoreEntryHibernate getLatest() {
    DetachedCriteria maxDateCriteria = createDetachedCriteria(entityName);

    maxDateCriteria.setProjection(Projections.max(getColumnName(Field.CREATION_DATE)));

    maxDateCriteria.add(Restrictions.eq(getColumnName(Field.STORE_NAME), storeName));

    Criteria criteria = createCriteria(entityName);

    criteria.add(Property.forName(getColumnName(Field.CREATION_DATE)).eq(maxDateCriteria));

    criteria.add(Restrictions.eq(getColumnName(Field.STORE_NAME), storeName));

    return (X509CertStoreEntryHibernate) criteria.uniqueResult();
}

From source file:net.firejack.platform.core.store.registry.DirectoryStore.java

License:Apache License

@Override
@Transactional(readOnly = true)/*from   ww w  .  j  a  va  2s . co  m*/
public Integer findMaxOrderPosition(final Long parentId) {
    return getHibernateTemplate().execute(new HibernateCallback<Integer>() {
        public Integer doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = session.createCriteria(getClazz());
            criteria.setProjection(Projections.max("sortPosition"));
            return (Integer) criteria.uniqueResult();
        }
    });
}

From source file:net.firejack.platform.core.store.registry.RegistryNodeStore.java

License:Apache License

@Override
@Transactional(readOnly = true)//from   ww  w .j a va2  s  .  co  m
public Integer findMaxOrderPosition(final Long parentId) {
    if (instantiate() instanceof RegistryNodeModel) {
        return getHibernateTemplate().execute(new HibernateCallback<Integer>() {
            public Integer doInHibernate(Session session) throws HibernateException, SQLException {
                Criteria criteria = session.createCriteria(getClazz());
                criteria.add(Restrictions.eq("parent.id", parentId));
                criteria.setProjection(Projections.max("sortPosition"));
                return (Integer) criteria.uniqueResult();
            }
        });
    } else {
        return null;
    }
}

From source file:net.firejack.platform.core.store.registry.resource.ResourceStore.java

License:Apache License

@Override
@Transactional// ww  w  . j a  v  a2 s .c om
public Integer setMaxResourceVersion(final R resource) {
    Integer maxVersion = getHibernateTemplate().execute(new HibernateCallback<Integer>() {
        public Integer doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = session.createCriteria(AbstractResourceVersionModel.class);
            criteria.add(Restrictions.eq("resource.id", resource.getId()));
            criteria.add(Restrictions.le("version", resource.getLastVersion()));

            ProjectionList projectionList = Projections.projectionList();
            projectionList.add(Projections.max("version"));
            criteria.setProjection(projectionList);
            return (Integer) criteria.uniqueResult();
        }
    });

    resource.setLastVersion(maxVersion);
    if (resource.getPublishedVersion() != null && resource.getPublishedVersion() > maxVersion) {
        resource.setPublishedVersion(maxVersion);
    }
    update(resource);
    return maxVersion;
}

From source file:net.firejack.platform.core.store.statistics.LogTransactionStore.java

License:Apache License

@Override
@Transactional(readOnly = true)//w  ww.jav  a 2 s.  c  om
public List<LogTransactionModel> findAggregatedByTermAndDates(Integer offset, Integer limit, String term,
        String lookup, Date startDate, Date endDate, String sortColumn, String sortDirection,
        MetricGroupLevel level) {
    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.min("hourPeriod"), "startTime").add(Projections.max("hourPeriod"), "endTime")
            .add(Projections.groupProperty("packageLookup"), "packageLookup")
            .add(Projections.sum("transactions"), "transactions")
            .add(Projections.sum("entitiesLoaded"), "entitiesLoaded")
            .add(Projections.sum("entitiesUpdated"), "entitiesUpdated")
            .add(Projections.sum("entitiesInserted"), "entitiesInserted")
            .add(Projections.sum("entitiesDeleted"), "entitiesDeleted")
            .add(Projections.sum("entitiesFetched"), "entitiesFetched")
            .add(Projections.sum("collectionsLoaded"), "collectionsLoaded")
            .add(Projections.sum("collectionsUpdated"), "collectionsUpdated")
            .add(Projections.sum("collectionsRecreated"), "collectionsRecreated")
            .add(Projections.sum("collectionsRemoved"), "collectionsRemoved")
            .add(Projections.sum("collectionsFetched"), "collectionsFetched")
            .add(Projections.max("maxQueryTime"), "maxQueryTime");

    switch (level) {
    case HOUR:
        projectionList.add(Projections.groupProperty("hourPeriod").as("hourPeriod"));
        break;
    case DAY:
        projectionList.add(Projections.groupProperty("dayPeriod").as("dayPeriod"));
        break;
    case WEEK:
        projectionList.add(Projections.groupProperty("weekPeriod").as("weekPeriod"));
        break;
    case MONTH:
        projectionList.add(Projections.groupProperty("monthPeriod").as("monthPeriod"));
        break;
    }

    return findAllByProjection(offset, limit, term, lookup, startDate, endDate, sortColumn, sortDirection,
            projectionList);
}

From source file:net.firejack.platform.core.store.statistics.MetricsEntryStore.java

License:Apache License

@Override
public List<AggregatedMetricsEntryModel> findAggregatedByTermAndDates(Integer offset, Integer limit,
        String term, String lookup, Date startDate, Date endDate, String sortColumn, String sortDirection,
        MetricGroupLevel level, LogEntryType logEntryType) {

    ProjectionList projectionList = Projections.projectionList();
    projectionList.add(Projections.min("hourPeriod"), "startTime").add(Projections.max("hourPeriod"), "endTime")
            .add(Projections.groupProperty("lookup"), "lookup")
            .add(Projections.groupProperty("systemAccountName"), "systemAccountName")
            .add(Projections.groupProperty("username"), "username")
            .add(Projections.sum("numberOfInvocations"), "numberOfInvocations")
            .add(Projections.avg("averageExecutionTime"), "averageExecutionTime")
            .add(Projections.min("minResponseTime"), "minResponseTime")
            .add(Projections.max("maxResponseTime"), "maxResponseTime")
            .add(Projections.avg("successRate"), "successRate");

    switch (level) {
    case HOUR:/*from   www .ja v a 2  s .  c o  m*/
        projectionList.add(Projections.groupProperty("hourPeriod").as("hourPeriod"));
        break;
    case DAY:
        projectionList.add(Projections.groupProperty("dayPeriod").as("dayPeriod"));
        break;
    case WEEK:
        projectionList.add(Projections.groupProperty("weekPeriod").as("weekPeriod"));
        break;
    case MONTH:
        projectionList.add(Projections.groupProperty("monthPeriod").as("monthPeriod"));
        break;
    }

    return findAllByProjection(offset, limit, term, lookup, startDate, endDate, sortColumn, sortDirection,
            logEntryType, projectionList);
}

From source file:net.jforum.core.hibernate.CategoryDAO.java

License:Open Source License

private int getMaxDisplayOrder() {
    Integer displayOrder = (Integer) this.session().createCriteria(this.persistClass)
            .setProjection(Projections.max("displayOrder")).uniqueResult();

    return displayOrder == null ? 1 : displayOrder + 1;
}

From source file:net.jforum.core.hibernate.TopicDAO.java

License:Open Source License

/**
 * @see net.jforum.repository.TopicRepository#getLastPost(net.jforum.entities.Topic)
 *//*from   w  w w  .  j a va2s  .c o  m*/
public Post getLastPost(Topic topic) {
    DetachedCriteria lastPost = DetachedCriteria.forClass(Post.class).setProjection(Projections.max("id"))
            .add(Restrictions.eq("topic", topic)).add(Restrictions.eq("moderate", false))
            .setComment("topicDAO.getLastPostID");

    return (Post) this.session().createCriteria(Post.class).add(Subqueries.propertyEq("id", lastPost))
            .setComment("topicDAO.getLastPost").uniqueResult();
}

From source file:net.jforum.repository.CategoryDao.java

License:Open Source License

private int getMaxDisplayOrder() {
    Integer displayOrder = (Integer) session.createCriteria(this.persistClass)
            .setProjection(Projections.max("displayOrder")).uniqueResult();

    return displayOrder == null ? 1 : displayOrder + 1;
}

From source file:net.jforum.repository.TopicDao.java

License:Open Source License

public Post getLastPost(Topic topic) {
    DetachedCriteria lastPost = DetachedCriteria.forClass(Post.class).setProjection(Projections.max("id"))
            .add(Restrictions.eq("topic", topic)).add(Restrictions.eq("moderate", false))
            .setComment("topicDAO.getLastPostID");

    return (Post) session.createCriteria(Post.class).add(Subqueries.propertyEq("id", lastPost))
            .setComment("topicDAO.getLastPost").uniqueResult();
}