List of usage examples for org.hibernate.criterion Projections count
public static CountProjection count(String propertyName)
From source file:com.romeikat.datamessie.core.base.query.entity.execute.AbstractEntityQueryExecutor.java
License:Open Source License
public void applyCountProjection(final Criteria criteria, final String propertyName) { criteria.setProjection(Projections.count(propertyName)); }
From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java
License:Open Source License
public Integer findLinesForPeriodByItem(Integer userId, Integer itemId, Date start, Date end) { Criteria criteria = getSession().createCriteria(InvoiceDTO.class); addUserCriteria(criteria, userId);/*from ww w .j a v a 2s. co m*/ addPeriodCriteria(criteria, start, end); addItemCriteria(criteria, itemId); criteria.setProjection(Projections.count("id")); return (Integer) criteria.uniqueResult(); }
From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java
License:Open Source License
public Integer findLinesForPeriodByItemCategory(Integer userId, Integer categoryId, Date start, Date end) { Criteria criteria = getSession().createCriteria(InvoiceDTO.class); addUserCriteria(criteria, userId);// w w w. ja v a 2 s . c o m addPeriodCriteria(criteria, start, end); addItemCategoryCriteria(criteria, categoryId); criteria.setProjection(Projections.count("id")); return (Integer) criteria.uniqueResult(); }
From source file:com.sapienter.jbilling.server.item.db.ItemTypeDAS.java
License:Open Source License
/** * Returns true if the given item type ID is in use. * * @param typeId type id//w w w.ja v a2 s .c o m * @return true if in use, false if not */ public boolean isInUse(Integer typeId) { Criteria criteria = getSession().createCriteria(getPersistentClass()).add(Restrictions.eq("id", typeId)) .createAlias("items", "item").add(Restrictions.eq("item.deleted", 0)) // item type contains non-deleted items .setProjection(Projections.count("item.id")); criteria.setComment("ItemTypeDTO.isInUse"); return (criteria.uniqueResult() != null && ((Integer) criteria.uniqueResult()) > 0); }
From source file:com.sapienter.jbilling.server.process.db.ProcessRunUserDAS.java
License:Open Source License
private Integer findUsersCountByStatus(Integer processRunId, Integer status) { Criteria criteria = getSession().createCriteria(ProcessRunUserDTO.class) .add(Restrictions.eq("status", status)).add(Restrictions.eq("processRun.id", processRunId)) .setProjection(Projections.count("user.id")); return (Integer) criteria.uniqueResult(); }
From source file:com.segundo.piso.daos.impl.DAOAttendenceImpl.java
@Override @Transactional//from w w w . j a v a 2 s . co m public long getDaysUsed(int idStudent, int idMovement) { try { return (long) this.sessionFactory.getCurrentSession().createCriteria(Asistencia.class, "attendence") .createAlias("attendence.idAlumno", "student") .createAlias("attendence.idMovimiento", "movement") .setProjection(Projections.count("attendence.diasRestantes")) .add(Restrictions.eq("student.idAlumno", idStudent)) .add(Restrictions.eq("movement.idMovimiento", idMovement)).uniqueResult(); } catch (NoResultException | NullPointerException e) { //log return 0; } }
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;/* www . jav a 2 s . co 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; } } }
From source file:com.tysanclan.site.projectewok.entities.dao.hibernate.ForumPostDAOImpl.java
License:Open Source License
@Override public int getUnreadSize(User user) { Criteria criteria = getSession().createCriteria(User.class); criteria.add(Restrictions.eq("id", user.getId())); criteria.setProjection(Projections.count("unreadForumPosts")); Number number = (Number) criteria.uniqueResult(); return number.intValue(); }
From source file:de.iew.sketchpad.persistence.hibernate.HbmPolygonDaoImpl.java
License:Apache License
public long getSegmentCount(long polygonId) { Criteria criteria = createCriteria(); criteria.setProjection(Projections.count("segs.id")).createAlias("segments", "segs") .add(Restrictions.eq("id", polygonId)); return (Long) criteria.uniqueResult(); }
From source file:de.iteratec.iteraplan.persistence.dao.GenericBaseDAO.java
License:Open Source License
/** {@inheritDoc} */ public boolean doesObjectWithDifferentIdExist(final T identifier, final String name) { Assert.notNull(name);/*from ww w . ja v a2 s. c o m*/ HibernateCallback<Long> callback = new HibernateCallback<Long>() { public Long doInHibernate(Session session) { Criteria c = session.createCriteria(getPersistentClass()); c.setProjection(Projections.count(getNameAttribute())); c.add(Restrictions.eq(getNameAttribute(), name.trim()).ignoreCase()); if (identifier != null) { c.add(Restrictions.ne("id", identifier)); } Object result = c.uniqueResult(); // if Hibernate returns an Integer, convert it to long if (result instanceof Integer) { return Long.valueOf(((Integer) result).longValue()); } // otherwise we expect a Long to be returned return (Long) result; } }; Long count = getHibernateTemplate().execute(callback); return count.intValue() > 0 ? true : false; }