List of usage examples for org.hibernate.criterion DetachedCriteria getExecutableCriteria
public Criteria getExecutableCriteria(Session session)
From source file:dz.alkhwarizmix.framework.java.dao.impl.AbstractAlKhwarizmixDAO.java
License:Open Source License
/** *//* w ww . j av a 2s .com*/ @Override public final List getList(final DetachedCriteria criteria, final int firstResult, final int maxResult) throws AlKhwarizmixDAOException { getLogger().trace("getList({})", criteria); try { final List result = criteria.getExecutableCriteria(getHibernateCurrentSession()).list(); return result; // return getHibernateCurrentSession().findByCriteria(criteria, // firstResult, maxResult); } catch (final DataAccessException e) { throw new AlKhwarizmixDAOException(e); } }
From source file:edu.ur.hibernate.ir.researcher.db.HbFieldDAO.java
License:Apache License
/** * Get all fields in name order.//from ww w .j av a 2 s.co m * * @see edu.ur.NameListDAO#getAllNameOrder() */ @SuppressWarnings("unchecked") public List<Field> getAllNameOrder() { DetachedCriteria dc = DetachedCriteria.forClass(Field.class); dc.addOrder(Order.asc("name")); return (List<Field>) dc.getExecutableCriteria(hbCrudDAO.getSessionFactory().getCurrentSession()).list(); }
From source file:flexmud.db.HibernateUtil.java
License:Open Source License
public static List fetch(DetachedCriteria detachedCriteria) { Session session;//from w w w . j a v a 2 s. co m Transaction transaction; session = HibernateUtil.getSessionFactory().openSession(); transaction = session.beginTransaction(); Criteria criteria = detachedCriteria.getExecutableCriteria(session); try { return criteria.list(); } catch (Exception e) { LOGGER.error("Error retrieving data for criteria", e); return null; } finally { transaction.commit(); session.close(); } }
From source file:fr.gael.dhus.database.dao.interfaces.HibernateDao.java
License:Open Source License
@SuppressWarnings("unchecked") public List<T> listCriteria(DetachedCriteria detached, int skip, int top) { SessionFactory factory = getSessionFactory(); org.hibernate.classic.Session session = factory.getCurrentSession(); Criteria criteria = detached.getExecutableCriteria(session); if (skip > 0) criteria.setFirstResult(skip);/*from w w w . j ava2 s . c o m*/ if (top > 0) criteria.setMaxResults(top); return criteria.list(); }
From source file:fr.gael.dhus.database.dao.interfaces.HibernateDao.java
License:Open Source License
@SuppressWarnings("unchecked") public T uniqueResult(DetachedCriteria criteria) { return (T) criteria.getExecutableCriteria(getSessionFactory().getCurrentSession()).uniqueResult(); }
From source file:fr.gael.dhus.database.dao.interfaces.HibernateDao.java
License:Open Source License
public int count(DetachedCriteria detached) { Session session = getSessionFactory().getCurrentSession(); Criteria criteria = detached.getExecutableCriteria(session); Object result = criteria.uniqueResult(); return ((Number) result).intValue(); }
From source file:info.jtrac.repository.HibernateJtracDao.java
License:Apache License
@Override @Transactional(propagation = Propagation.SUPPORTS) public List<Item> findItems(ItemSearch itemSearch) { int pageSize = itemSearch.getPageSize(); // TODO: if we are ordering by a custom column, we must load the whole // list to do an in-memory sort. we need to find a better way Field.Name sortFieldName = Field.isValidName(itemSearch.getSortFieldName()) ? Field.convertToName(itemSearch.getSortFieldName()) : null;//w w w .ja va 2 s . c o m // only trigger the in-memory sort for drop-down fields and when querying within a space // UI currently does not allow you to sort by custom field when querying across spaces, but check again boolean doInMemorySort = sortFieldName != null && sortFieldName.isDropDownType() && itemSearch.getSpace() != null; DetachedCriteria criteria = getCriteria(itemSearch); if (pageSize == -1 || doInMemorySort) { @SuppressWarnings("unchecked") List<Item> list = criteria.getExecutableCriteria(getSession()).list(); if (!list.isEmpty() && doInMemorySort) { doInMemorySort(list, itemSearch); } itemSearch.setResultCount(list.size()); if (pageSize != -1) { // order-by was requested on custom field, so we loaded all results, but only need one page int start = pageSize * itemSearch.getCurrentPage(); int end = Math.min(start + itemSearch.getPageSize(), list.size()); return list.subList(start, end); } return list; } else { // pagination if (itemSearch.isBatchMode()) { entityManager.clear(); } int firstResult = pageSize * itemSearch.getCurrentPage(); @SuppressWarnings("unchecked") List<Item> list = criteria.getExecutableCriteria(getSession()).setFirstResult(firstResult) .setMaxResults(pageSize).list(); if (!itemSearch.isBatchMode()) { criteria = getCriteriaForCount(itemSearch).criteria; criteria.setProjection(Projections.rowCount()); Long count = (Long) criteria.getExecutableCriteria(getSession()).list().get(0); itemSearch.setResultCount(count); } return list; } }
From source file:jp.ac.tokushima_u.is.ll.common.orm.hibernate.HibernateDao.java
License:Apache License
@SuppressWarnings("unchecked") public Page<T> findPage(final Page<T> page, final DetachedCriteria detachedCriteria) { Assert.notNull(page, "page should not be null"); Criteria c = detachedCriteria.getExecutableCriteria(getSession()); if (page.isAutoCount()) { long totalCount = countCriteriaResult(c); page.setTotalCount(totalCount);/*from w w w.ja v a 2 s . c o m*/ } setPageParameter(c, page); List result = c.list(); page.setResult(result); return page; }
From source file:jp.ac.tokushima_u.is.ll.common.orm.hibernate.SimpleHibernateDao.java
License:Apache License
public List<T> find(DetachedCriteria detachedCriteria) { Criteria criteria = detachedCriteria.getExecutableCriteria(getSession()); return criteria.list(); }
From source file:kr.debop4j.access.test.repository.CriteriaSampleTest.java
License:Apache License
@Test @Transactional(readOnly = true)/*from w w w . ja v a 2 s . co m*/ public void groupingTest() { DetachedCriteria dc = DetachedCriteria.forClass(Employee.class); dc.createAlias("company", "c").createAlias("empGrade", "eg") .setProjection(Projections.projectionList().add(Projections.groupProperty("c.code")) .add(Projections.groupProperty("eg.code")).add(Projections.rowCount())); List loaded = dc.getExecutableCriteria(hibernateDao.getSession()).list(); log.info("Group by = [{}]", loaded); }