List of usage examples for org.hibernate.criterion DetachedCriteria getExecutableCriteria
public Criteria getExecutableCriteria(Session session)
From source file:org.eurocarbdb.dataaccess.HibernateEntityManager.java
License:Open Source License
/** * Converts the given {@link DetachedCriteria} into a {@link Criteria} * that can be executed./*from ww w .ja v a 2 s. co m*/ */ public static final Criteria convertToCriteria(DetachedCriteria dc) { return dc.getExecutableCriteria(getSessionFactory().getCurrentSession()); }
From source file:org.eurocarbdb.resourcesdb.io.HibernateAccess.java
License:Open Source License
public static List<?> getObjectList(DetachedCriteria queryCriteria) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction();//from ww w . j a v a2 s .co m List<?> resultList = queryCriteria.getExecutableCriteria(session).list(); return resultList; }
From source file:org.faster.orm.service.hibernate.HibernateDaoSupport.java
License:Open Source License
@SuppressWarnings("rawtypes") protected List fetchPage(final DetachedCriteria criteria, final int page, final int limit, QueryOption queryOption) {/* w w w . j a va 2 s.c om*/ renderCriteria(criteria); Criteria executableCriteria = criteria.getExecutableCriteria(getSession()); if (queryOption != null) { executableCriteria.setCacheable(queryOption.isCacheEnabled()); if (cacheRegion != null) { executableCriteria.setCacheRegion(cacheRegion); } } if (page >= 1) { executableCriteria.setFirstResult((page - 1) * limit); } if (limit > 0) { executableCriteria.setMaxResults(limit); } return executableCriteria.list(); }
From source file:org.fornax.cartridges.sculptor.framework.accessimpl.jpahibernate.JpaHibFindByExampleAccessImpl.java
License:Apache License
@Override public void performExecute() throws PersistenceException { Example example = createExample();//from w w w .j ava2 s .c o m if (excludeProperties != null) { for (int i = 0; i < excludeProperties.length; i++) { example.excludeProperty(excludeProperties[i]); } } DetachedCriteria crit = createCriteria(example); if (orderBy != null) { if (orderByAsc) { crit.addOrder(Order.asc(orderBy)); } else { crit.addOrder(Order.desc(orderBy)); } } Session hibernateSession = HibernateSessionHelper.getHibernateSession(getEntityManager()); final Criteria criteria = crit.getExecutableCriteria(hibernateSession); prepareCache(criteria); result = executeFind(criteria); }
From source file:org.generationcp.middleware.dao.GermplasmDAO.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Germplasm> getGenerativeChildren(final Integer gid) { try {//from w w w. java 2 s .c o m final List<Germplasm> children = new ArrayList<>(); // Find generative children (gnpgs > 2) final DetachedCriteria generativeChildrenCriteria = DetachedCriteria.forClass(Germplasm.class); generativeChildrenCriteria .add(Restrictions.or(Restrictions.eq("gpid1", gid), Restrictions.eq("gpid2", gid))); // = Two or more parents generativeChildrenCriteria.add(Restrictions.ge("gnpgs", 2)); // = Record is unchanged generativeChildrenCriteria.add(Restrictions.eq(GermplasmDAO.GRPLCE, 0)); // = Record is not deleted or replaced. generativeChildrenCriteria.add(Restrictions.eq(GermplasmDAO.DELETED, Boolean.FALSE)); children.addAll(generativeChildrenCriteria.getExecutableCriteria(this.getSession()).list()); // Find additional children via progenitor linkage final DetachedCriteria otherChildrenCriteria = DetachedCriteria.forClass(Progenitor.class); otherChildrenCriteria.add(Restrictions.eq("progenitorGid", gid)); final List<Progenitor> otherChildren = otherChildrenCriteria.getExecutableCriteria(this.getSession()) .list(); final Set<Integer> otherChildrenGids = new HashSet<>(); for (final Progenitor progenitor : otherChildren) { otherChildrenGids.add(progenitor.getGermplasm().getGid()); } if (!otherChildrenGids.isEmpty()) { children.addAll(this.getByGIDList(new ArrayList<>(otherChildrenGids))); } return children; } catch (final HibernateException e) { final String message = "Error executing GermplasmDAO.getGenerativeChildren(gid={}) : {}"; GermplasmDAO.LOG.error(message, gid, e.getMessage()); throw new MiddlewareQueryException(message, e); } }
From source file:org.generationcp.middleware.dao.GermplasmDAO.java
License:Open Source License
public List<Germplasm> getManagementGroupMembers(final Integer mgid) { if (mgid == null || mgid == 0) { return Collections.emptyList(); }//from w w w. j ava 2s. co m try { final DetachedCriteria criteria = DetachedCriteria.forClass(Germplasm.class); criteria.add(Restrictions.eq("mgid", mgid)); // = Record is unchanged criteria.add(Restrictions.eq(GermplasmDAO.GRPLCE, 0)); // = Record is not deleted or replaced. criteria.add(Restrictions.eq(GermplasmDAO.DELETED, Boolean.FALSE)); @SuppressWarnings("unchecked") final List<Germplasm> groupMembers = criteria.getExecutableCriteria(this.getSession()).list(); // Prime the names collection before returning ;) for (final Germplasm g : groupMembers) { g.getNames().size(); } return groupMembers; } catch (final HibernateException e) { final String message = "Error executing GermplasmDAO.getGroupMembersByGroupId(mgid={}) : {}"; GermplasmDAO.LOG.error(message, mgid, e.getMessage()); throw new MiddlewareQueryException(message, e); } }
From source file:org.generationcp.middleware.dao.GermplasmDAO.java
License:Open Source License
public List<Germplasm> getPreviousCrosses(final Germplasm currentCross, final Germplasm female, final Germplasm male) { try {//ww w . jav a 2s .c om final DetachedCriteria criteria = DetachedCriteria.forClass(Germplasm.class); // (female x male) is not the same as (male x female) so the order is important. criteria.add(Restrictions.eq("gpid1", female.getGid())); criteria.add(Restrictions.eq("gpid2", male.getGid())); // Restrict to cases where two parents are involved. criteria.add(Restrictions.eq("gnpgs", 2)); // = Record is unchanged. criteria.add(Restrictions.eq(GermplasmDAO.GRPLCE, 0)); // Exclude current cross. We are finding "previous" crosses. criteria.add(Restrictions.ne("gid", currentCross.getGid())); // = Record is not or replaced. criteria.add(Restrictions.eq(GermplasmDAO.DELETED, Boolean.FALSE)); // Oldest created cross will be first in list. criteria.addOrder(Order.asc("gid")); @SuppressWarnings("unchecked") final List<Germplasm> previousCrosses = criteria.getExecutableCriteria(this.getSession()).list(); return previousCrosses; } catch (final HibernateException e) { final String message = "Error executing GermplasmDAO.getPreviousCrosses(female = {}, male = {}): {}"; GermplasmDAO.LOG.error(message, female, male, e.getMessage()); throw new MiddlewareQueryException(message, e); } }
From source file:org.geolatte.common.cql.hibernate.HibernateCriteriaBuilderTest.java
License:Open Source License
/** * Helper to load a collection of objects from the database, according to the given criteria. * @param detachedCriteria Criteria used to load the objects. * @param hibernateUtil Hibernate utility class used to access the database. * @return The list of loaded objects.//w ww.ja v a 2 s. c o m */ private List<FilterableObject> load(DetachedCriteria detachedCriteria, HibernateUtil hibernateUtil) { Session session = hibernateUtil.getSessionFactory().openSession(); Criteria criteria = detachedCriteria == null ? null : detachedCriteria.getExecutableCriteria(session); HibernateHqlAndCriteriaToSqlTranslator trans = new HibernateHqlAndCriteriaToSqlTranslator(); trans.setSessionFactory(hibernateUtil.getSessionFactory()); System.out.println("SQL executed = " + trans.toSql(criteria)); return criteria.list(); }
From source file:org.geolatte.featureserver.dbase.StandardFeatureReader.java
License:Open Source License
private Criteria toExecutableCriteria(SessionFactory factory, Class entityClass, DetachedCriteria detCrit) { if (detCrit == null) { return factory.getCurrentSession().createCriteria(entityClass); } else {/* w w w.ja v a2 s . co m*/ return detCrit.getExecutableCriteria(factory.getCurrentSession()); } }
From source file:org.jspresso.framework.application.backend.persistence.hibernate.HibernateBackendController.java
License:Open Source License
private <T extends IEntity> List<T> find(final DetachedCriteria criteria, final int firstResult, final int maxResults, final EMergeMode mergeMode) { List<T> entities = getTransactionTemplate().execute(new TransactionCallback<List<T>>() { @SuppressWarnings("unchecked") @Override/*w w w. j av a 2 s.c om*/ public List<T> doInTransaction(TransactionStatus status) { Criteria executableCriteria = criteria.getExecutableCriteria(getHibernateSession()); if (firstResult >= 0) { executableCriteria.setFirstResult(firstResult); } if (maxResults > 0) { executableCriteria.setMaxResults(maxResults); } List<T> entities = executableCriteria.list(); if (mergeMode != null) { entities = merge(entities, mergeMode); } return entities; } }); if (isUnitOfWorkActive()) { entities = cloneInUnitOfWork(entities); } return entities; }