List of usage examples for org.hibernate.criterion Projections max
public static AggregateProjection max(String propertyName)
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(); }