List of usage examples for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY
ResultTransformer DISTINCT_ROOT_ENTITY
To view the source code for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY.
Click Source Link
From source file:org.egov.works.reports.service.WorkProgressRegisterService.java
License:Open Source License
@Transactional public List<WorkProgressRegister> searchWorkProgressRegister( final WorkProgressRegisterSearchRequest workProgressRegisterSearchRequest) { if (workProgressRegisterSearchRequest != null) { final Criteria criteria = entityManager.unwrap(Session.class) .createCriteria(WorkProgressRegister.class); if (workProgressRegisterSearchRequest.getDepartment() != null) criteria.add(Restrictions.eq("department.id", workProgressRegisterSearchRequest.getDepartment())); if (workProgressRegisterSearchRequest.getWorkIdentificationNumber() != null) criteria.add(/*w w w . ja v a 2 s. c om*/ Restrictions.eq("winCode", workProgressRegisterSearchRequest.getWorkIdentificationNumber()) .ignoreCase()); if (workProgressRegisterSearchRequest.getContractor() != null) { criteria.createAlias("contractor", "contractor"); criteria.add(Restrictions.or( Restrictions.ilike("contractor.code", workProgressRegisterSearchRequest.getContractor(), MatchMode.ANYWHERE), Restrictions.ilike("contractor.name", workProgressRegisterSearchRequest.getContractor(), MatchMode.ANYWHERE))); } if (workProgressRegisterSearchRequest.getAdminSanctionFromDate() != null) criteria.add(Restrictions.ge("adminSanctionDate", workProgressRegisterSearchRequest.getAdminSanctionFromDate())); if (workProgressRegisterSearchRequest.getAdminSanctionToDate() != null) criteria.add(Restrictions.le("adminSanctionDate", workProgressRegisterSearchRequest.getAdminSanctionToDate())); if (workProgressRegisterSearchRequest.isSpillOverFlag()) criteria.add(Restrictions.eq("spillOverFlag", workProgressRegisterSearchRequest.isSpillOverFlag())); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); } else return new ArrayList<WorkProgressRegister>(); }
From source file:org.encuestame.core.cron.IndexRebuilder.java
License:Apache License
/** * Reindex domain object.//from w ww . j a va 2 s . co m * @param fullTextSession {@link FullTextSession}. * @param clazz domain class. */ public static void reindex(final FullTextSession fullTextSession, final Class<?> clazz) { log.debug(clazz.getName() + " purge index ..."); //purge all index content. fullTextSession.purgeAll(clazz); fullTextSession.flushToIndexes(); fullTextSession.getSearchFactory().optimize(clazz); log.debug(clazz.getName() + " starting index ..."); final long startTime = System.currentTimeMillis(); fullTextSession.setFlushMode(FlushMode.MANUAL); fullTextSession.setCacheMode(CacheMode.IGNORE); final Transaction transaction = fullTextSession.beginTransaction(); //Scrollable results will avoid loading too many objects in memory final ScrollableResults results = fullTextSession.createCriteria(clazz).setFetchSize(100) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).scroll(ScrollMode.FORWARD_ONLY); int index = 0; while (results.next()) { index++; fullTextSession.index(results.get(0)); if (index % 100 == 0) { fullTextSession.flushToIndexes(); fullTextSession.flush(); fullTextSession.clear(); } } fullTextSession.flushToIndexes(); fullTextSession.getSearchFactory().optimize(clazz); transaction.commit(); log.debug(clazz.getName() + " Reindex end in " + ((System.currentTimeMillis() - startTime) / 1000.0) + " seconds."); }
From source file:org.eulerframework.web.core.base.dao.impl.hibernate5.BaseDao.java
License:Apache License
@Override public List<T> queryByEntity(T entity) { DetachedCriteria detachedCriteria = DetachedCriteria.forClass(this.entityClass); detachedCriteria.add(Example.create(entity)); detachedCriteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); List<T> result = this.query(detachedCriteria); evict(result);/*from ww w . ja v a 2s .c o m*/ return result; }
From source file:org.eurocarbdb.dataaccess.Eurocarb.java
License:Open Source License
public static <T> List<T> getRecentlyContributed(Class<T> c, int max_results) { // does c implement Contributed? if (Contributed.class.isAssignableFrom(c)) { /* TODO: remove explicit hibernate reference */ List results = ((HibernateEntityManager) getEntityManager()).getHibernateSession().createCriteria(c) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .addOrder(Order.desc("dateEntered")).setMaxResults(max_results).list(); if (results == null) return Collections.emptyList(); return (List<T>) results; } else {/*from www . j a v a2s .co m*/ List results = ((HibernateEntityManager) getEntityManager()).getHibernateSession().createCriteria(c) .addOrder(Order.desc("id")).setMaxResults(max_results).list(); if (results == null) return Collections.emptyList(); return (List<T>) results; } }
From source file:org.generationcp.middleware.dao.dms.DmsProjectDao.java
License:Open Source License
public List<DmsProject> getByIds(final Collection<Integer> projectIds) { final List<DmsProject> studyNodes = new ArrayList<>(); try {//w w w.j av a2 s. c o m if (projectIds != null && !projectIds.isEmpty()) { final Criteria criteria = this.getSession().createCriteria(this.getPersistentClass()); criteria.add(Restrictions.in(DmsProjectDao.PROJECT_ID, projectIds)); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); } } catch (final HibernateException e) { LOG.error(e.getMessage(), e); throw new MiddlewareQueryException( "Error in getByIds= " + projectIds + " query in DmsProjectDao: " + e.getMessage(), e); } return studyNodes; }
From source file:org.generationcp.middleware.dao.dms.PhenotypeDao.java
License:Open Source License
public List<Phenotype> getPhenotypes(final Integer datasetId) { final Criteria criteria = this.getSession().createCriteria(this.getPersistentClass()); criteria.createAlias("experiment", "experiment"); criteria.add(Restrictions.eq("experiment.project.projectId", datasetId)); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); }
From source file:org.generationcp.middleware.manager.GermplasmDataManagerImpl.java
License:Open Source License
/** * (non-Javadoc)/*from w w w .j av a2s . c o m*/ * * @see org.generationcp.middleware.manager.api.GermplasmDataManager#getGermplasmWithAllNamesAndAncestry(java.util.Set, int) */ @SuppressWarnings("unchecked") @Override public List<Germplasm> getGermplasmWithAllNamesAndAncestry(final Set<Integer> gids, final int numberOfLevelsToTraverse) { final Monitor monitor = MonitorFactory.start("org.generationcp.middleware.manager.GermplasmDataManagerImpl" + ".getGermplasmWithAllNamesAndAncestry(Set<Integer> - SetSize(" + gids.size() + ") , int)"); try { final StringBuilder commaSeparatedListOfGids = this.getGidsAsCommaSeparatedList(gids); final SQLQuery storedProcedure = this.getActiveSession() .createSQLQuery("CALL getGermplasmWithNamesAndAncestry(:gids, :numberOfLevelsToTraverse) "); storedProcedure.setParameter("gids", commaSeparatedListOfGids.toString()); storedProcedure.setParameter("numberOfLevelsToTraverse", numberOfLevelsToTraverse); storedProcedure.addEntity("g", Germplasm.class); storedProcedure.addJoin("n", "g.names"); // Be very careful changing anything here. // The entity has been added again because the distinct root entity works on the // Last added entity storedProcedure.addEntity("g", Germplasm.class); storedProcedure.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return storedProcedure.list(); } finally { monitor.stop(); } }
From source file:org.goobi.production.flow.statistics.hibernate.UserDefinedFilter.java
License:Open Source License
/** * generates a hibernate criteria based on the string filter. *///from w w w.j av a 2s.c o m private Criteria createCriteriaFromFilterString(String inFilter) { Session session = Helper.getHibernateSession(); PaginatingCriteria crit = new PaginatingCriteria(Process.class, session); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); /* * combine all parameters together this part was exported to * FilterHelper so that other Filters could access it */ String message = FilterHelper.criteriaBuilder(session, inFilter, crit, null, myParameter, false, null, true); if (message.length() > 0) { myObservable.setMessage(message); } /* * used for step filter if query conditions include more than one step * by using a range the Criteria produces more than one item per * process, for each step it involves */ createIDListFromCriteria(crit); crit = null; crit = createCriteriaFromIDList(); return crit; }
From source file:org.goobi.production.flow.statistics.hibernate.UserProjectFilter.java
License:Open Source License
private Criteria createCriteriaFromProjectID() { Session session = Helper.getHibernateSession(); PaginatingCriteria crit = new PaginatingCriteria(Process.class, session); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); crit.createCriteria("project", "proj"); crit.add(Restrictions.eq("proj.id", projectID)); return crit;//from w w w .ja v a 2 s . c o m }
From source file:org.grails.orm.hibernate.query.AbstractHibernateQuery.java
License:Apache License
@Override public List list() { if (criteria == null) throw new IllegalStateException("Cannot execute query using a detached criteria instance"); int projectionLength = 0; if (hibernateProjectionList != null) { org.hibernate.criterion.ProjectionList projectionList = hibernateProjectionList .getHibernateProjectionList(); projectionLength = projectionList.getLength(); if (projectionLength > 0) { criteria.setProjection(projectionList); }/*from w ww . j a va 2 s . c om*/ } if (projectionLength < 2) { criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); } applyDefaultSortOrderAndCaching(); applyFetchStrategies(); return criteria.list(); }