List of usage examples for org.hibernate.criterion DetachedCriteria setProjection
public DetachedCriteria setProjection(Projection projection)
From source file:org.workin.persistence.hibernate.v4.dao.Hibernate4PersistenceDaoImpl.java
License:Apache License
@Override public long countByCriteria(final DetachedCriteria criteria, final boolean distinct) { if (distinct) criteria.setProjection(Projections.distinct(Projections.rowCount())); else//from www . j a v a 2s . c o m criteria.setProjection(Projections.rowCount()); Criteria executableCriteria = criteria.getExecutableCriteria(getCurrentSession()); return (Long) executableCriteria.uniqueResult(); }
From source file:org.zanata.model.validator.UniqueValidator.java
License:Open Source License
private int countRows(Object value) { // we need to use entityManager.unwrap because injected session will // be a weld proxy and criteria.getExecutableCriteria method will try // to cast it to SessionImplementor (ClassCastException) Session session = entityManager.unwrap(Session.class); ClassMetadata metadata = session.getSessionFactory().getClassMetadata(value.getClass()); String idName = metadata.getIdentifierPropertyName(); // FIXME was EntityMode.POJO Serializable id = metadata.getIdentifier(value, null); DetachedCriteria criteria = DetachedCriteria.forClass(value.getClass()); for (String property : parameters.properties()) { // FIXME was EntityMode.POJO criteria.add(Restrictions.eq(property, metadata.getPropertyValue(value, property))); }/*from w w w . j av a2 s. c om*/ // Id property if (id != null) { criteria.add(Restrictions.ne(idName, id)); } criteria.setProjection(Projections.rowCount()); // change the flush mode temporarily to perform the query or else // incomplete entities will try to get flushed // After the query, go back to the original mode FlushMode flushMode = session.getFlushMode(); session.setFlushMode(FlushMode.MANUAL); List results = criteria.getExecutableCriteria(session).list(); Number count = (Number) results.iterator().next(); session.setFlushMode(flushMode); return count.intValue(); }
From source file:pe.gob.mef.gescon.hibernate.impl.ArchivoConocimientoDaoImpl.java
@Override public TarchivoConocimiento getLastTarchivoByTconocimiento(Tconocimiento tconocimiento) throws Exception { DetachedCriteria proj = DetachedCriteria.forClass(TarchivoConocimiento.class); proj.setProjection(Projections.max("nversion")); DetachedCriteria criteria = DetachedCriteria.forClass(TarchivoConocimiento.class); criteria.add(Restrictions.eq("tconocimiento.nconocimientoid", tconocimiento.getNconocimientoid())); criteria.add(Property.forName("nversion").eq(proj)); return (TarchivoConocimiento) DataAccessUtils.uniqueResult(getHibernateTemplate().findByCriteria(criteria)); }
From source file:pe.gob.mef.gescon.hibernate.impl.ArchivoHistorialDaoImpl.java
@Override public TarchivoHist getLastTarchivoHistByTbaselegalHist(TbaselegalHist tbaselegal) throws Exception { DetachedCriteria proj = DetachedCriteria.forClass(TarchivoHist.class); proj.setProjection(Projections.max("nversion")); DetachedCriteria criteria = DetachedCriteria.forClass(TarchivoHist.class); criteria.add(Restrictions.eq("nhistorialid", tbaselegal.getNhistorialid())); criteria.add(Restrictions.eq("nbaselegalid", tbaselegal.getNbaselegalid())); criteria.add(Property.forName("nversion").eq(proj)); return (TarchivoHist) DataAccessUtils.uniqueResult(getHibernateTemplate().findByCriteria(criteria)); }
From source file:pe.gob.mef.gescon.hibernate.impl.BaseLegalHistorialDaoImpl.java
@Override public TbaselegalHist getLastThistorialByTbaselegal(BigDecimal idbaselegal) throws Exception { DetachedCriteria proj = DetachedCriteria.forClass(TbaselegalHist.class); proj.setProjection(Projections.max("nversion")); proj.add(Restrictions.eq("nbaselegalid", idbaselegal)); DetachedCriteria criteria = DetachedCriteria.forClass(TbaselegalHist.class); criteria.add(Restrictions.eq("nbaselegalid", idbaselegal)); criteria.add(Property.forName("nversion").eq(proj)); return (TbaselegalHist) DataAccessUtils.uniqueResult(getHibernateTemplate().findByCriteria(criteria)); }
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:pl.touk.wonderfulsecurity.dao.WsecBaseDaoImpl.java
License:Apache License
public int fetchCount(final Map<String, ?> queryParameters, final Class clazz) { checkIsBeanMapped(clazz);//ww w .j av a2s . c om Object o = getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { DetachedCriteria criteria = buildCriteriaFromMapOfParameters(queryParameters, clazz); criteria.setProjection(Projections.rowCount()); return criteria.getExecutableCriteria(session).uniqueResult(); } }); return o != null ? ((Number) o).intValue() : 0; }
From source file:pula.sys.daos.impl.CourseClientDaoImpl.java
@Override public PaginationSupport<MapBean> search(CourseClientCondition condition, int pageIndex) { DetachedCriteria dc = makeDetachedCriteria(condition); ProjectionList proList = Projections.projectionList();// ? proList = HibernateTool.injectSingle(proList, SINGLE_MAPPING, "uu"); proList = HibernateTool.injectAlias(proList, ALIAS_MAPPING); dc.setProjection(proList); dc.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); String dateField = "uu.applyTime"; if (condition.isForApply()) { dateField = "uu.createdTime"; }//from w w w . j a v a 2 s .c o m PaginationSupport<Map<String, Object>> es = super.findPageByCriteria(dc, new PageInfo(pageIndex), Order.desc(dateField)); return MapList.createPage(es); }