List of usage examples for org.hibernate.criterion DetachedCriteria getExecutableCriteria
public Criteria getExecutableCriteria(Session session)
From source file:org.workin.persistence.hibernate.v4.dao.Hibernate4PersistenceDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") @Override/*from w w w.j a va 2s . c o m*/ public T findUniqueByCriteria(final DetachedCriteria criteria) { Criteria executableCriteria = criteria.getExecutableCriteria(getCurrentSession()); return (T) executableCriteria.uniqueResult(); }
From source file:org.workin.persistence.hibernate.v4.dao.Hibernate4PersistenceDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") @Override//w ww . j av a2s . co m public List<T> findByCriteria(DetachedCriteria criteria, int start, int maxRows) { Criteria executableCriteria = criteria.getExecutableCriteria(getCurrentSession()); setOffsetCriteria(executableCriteria, start, maxRows); return executableCriteria.list(); }
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 w w w . j av a 2s . com criteria.setProjection(Projections.rowCount()); Criteria executableCriteria = criteria.getExecutableCriteria(getCurrentSession()); return (Long) executableCriteria.uniqueResult(); }
From source file:org.xchain.namespaces.hibernate.test.TestCriteriaEntityPermission.java
License:Apache License
private List<?> list(DetachedCriteria criteria) { Session session = HibernateLifecycle.getCurrentSession(); List<?> results = null; if (session.getTransaction() == null || !session.getTransaction().isActive()) { session.beginTransaction();//from w w w. j ava 2 s .c om results = criteria.getExecutableCriteria(session).list(); session.getTransaction().commit(); } return results; }
From source file:org.youi.framework.core.dao.hibernate.BaseDaoHibernate.java
License:Apache License
/** * //from w w w .ja va 2 s .c o m * * @param conditions * ?? * @param aliasMap * ? * @param orders * ? * @return */ @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public List<T> commonQuery(final Collection<Condition> conditions, final Collection<Order> orders) { final DetachedCriteria detachedCriteria = this.getDetachedCriteria(getModelClazz()); HibernateCallback hibernateCallback = new HibernateCallback() { @Override public Object doInHibernate(Session session) throws HibernateException { Criteria criteria = detachedCriteria.getExecutableCriteria(session);// sessioncriteria Object[] result = generateQueryExpression(conditions, criteria);// ?? criteria = (Criteria) result[0]; //??? criteria = generateOrderExpression(orders, result);// ?? return criteria.list(); } }; List list = (List) getHibernateTemplate().executeWithNativeSession(hibernateCallback); return this.getResultList(list); }
From source file:org.youi.framework.core.dao.hibernate.BaseDaoHibernate.java
License:Apache License
/** * //www. jav a2s . c o m * ?????? * @param pager * @param conditions * @param orders * @return */ @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public PagerRecords findByPager(final Pager pager, //? final Collection<Condition> conditions, //? final Collection<Order> orders) {//?? // final DetachedCriteria detachedCriteria = getDetachedCriteria(getModelClazz()); HibernateCallback hibernateCallback = new HibernateCallback() { @Override public Object doInHibernate(Session session) throws HibernateException { Criteria criteria = detachedCriteria.getExecutableCriteria(session);// sessioncriteria int pageType = pager.getPageType(), totalCount = 0; List list = new ArrayList(); //?? Object[] result = generateQueryExpression(conditions, criteria);// ?? criteria = (Criteria) result[0]; // if (pageType == Pager.QUERY_TYPE_ALL || pageType == Pager.QUERY_TYPE_COUNT) { try { totalCount = ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()) .intValue();// } catch (RuntimeException e) { logger.error(e.getMessage()); } criteria.setProjection(null); pager.setCounts(totalCount);// } // if (pageType == Pager.QUERY_TYPE_ALL || pageType == Pager.QUERY_TYPE_LIST) { criteria = generateOrderExpression(orders, result);// ?? if (pager.getPageSize() != -1) criteria = criteria.setFirstResult(pager.getStartIndex()) .setMaxResults(pager.getPageSize());// ? list = criteria.list(); } //??? return getCriteriaResult(list, totalCount, pager); } }; return (PagerRecords) getHibernateTemplate().executeWithNativeSession(hibernateCallback); }
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))); }/*w w w. j av a 2 s.c o m*/ // 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:pl.touk.wonderfulsecurity.dao.WsecBaseDaoImpl.java
License:Apache License
public int fetchCount(final Map<String, ?> queryParameters, final Class clazz) { checkIsBeanMapped(clazz);/*from w w w. j a v a2 s .co m*/ 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:pl.touk.wonderfulsecurity.dao.WsecBaseDaoImpl.java
License:Apache License
public <E> ArrayList<E> fetchList(final Map<String, ?> queryParameters, final String sortColumn, final Boolean desc, final Class<E> clazz) { {//from ww w . j a va 2s.c om checkIsBeanMapped(clazz); ArrayList<E> list = new ArrayList<E>( (Collection<E>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { DetachedCriteria detachedCriteria = buildCriteriaFromMapOfParameters(queryParameters, clazz); Criteria criteria = detachedCriteria.getExecutableCriteria(session); applySorting(criteria, sortColumn, desc); return criteria.list(); } })); return list != null ? list : new ArrayList(); } }
From source file:pl.touk.wonderfulsecurity.dao.WsecBaseDaoImpl.java
License:Apache License
public <E> ArrayList<E> fetchPagedList(final Map<String, ?> queryParameters, final Integer offset, final Integer howMany, final String sortColumn, final Boolean desc, final Class<E> clazz) { checkIsBeanMapped(clazz);/*from w w w . j a v a 2s.com*/ ArrayList<E> list = (ArrayList<E>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { DetachedCriteria detachedCriteria = buildCriteriaFromMapOfParameters(queryParameters, clazz); Criteria criteria = detachedCriteria.getExecutableCriteria(session); applySortingOffSetAndLimit(criteria, offset, howMany, sortColumn, desc); return criteria.list(); } }); return list != null ? list : new ArrayList(); }