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:reviewbot.repository.BookRepository.java
License:Creative Commons License
@Override @SuppressWarnings("unchecked") public List<Book> readRange(Integer length, Integer offset) { final Integer len = length; final Integer offs = offset; // Solution by MattC@stackoverflow // https://stackoverflow.com/questions/11038234/pagination-with-hibernate-criteria-and-distinct-root-entity/23618190#23618190 Criteria criteria = getCurrentSession().createCriteria(Book.class); Projection idCountProjection = Projections.countDistinct("id"); criteria.setProjection(idCountProjection); int totalResultCount = ((Long) criteria.uniqueResult()).intValue(); criteria.setProjection(Projections.distinct(Projections.property("id"))); if (offs != null) criteria.setFirstResult(offs);/* w w w . ja v a 2s . c om*/ if (len != null) criteria.setMaxResults(len); List uniqueSubList = criteria.list(); criteria.setProjection(null); criteria.setFirstResult(0); criteria.setMaxResults(Integer.MAX_VALUE); criteria.add(Restrictions.in("id", uniqueSubList)); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return (List<Book>) criteria.list(); }
From source file:ru.apertum.journal.model.Patient.java
License:Open Source License
/** * Criteria sc = session.createCriteria(clazz); ... // fix join return duplicates sc.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); * return sc.list();//from w ww. ja v a 2 s. c o m * * * ?? hashCode() equals() * * @param filter * @return */ synchronized static public LinkedList<Patient> getPatients(HashMap<String, Object> filter) { final Session sess = HibernateUtil.getInstance().getSession(); try { if (filter == null) { final LinkedList li = new LinkedList(sess.createCriteria(Patient.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).list()); if (li.isEmpty()) { createIndexes(); } return li; // return new LinkedList(sess.createCriteria(Patient.class).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).list()); // return new LinkedList(sess.createCriteria(Patient.class).list()); } else { final Criteria criteria = sess.createCriteria(Patient.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); //final Criteria criteria = sess.createCriteria(Patient.class); filter.keySet().stream().forEach((key) -> { criteria.add(Restrictions.eq(key, filter.get(key))); }); //criteria.addOrder(Order.asc("second_name")); return new LinkedList<>(criteria.list()); } } finally { sess.close(); } }
From source file:ru.apertum.qsystem.server.model.calendar.QCalendarList.java
License:Open Source License
@Override protected LinkedList<QCalendar> load() { return new LinkedList<>(Spring.getInstance().getHt().findByCriteria(DetachedCriteria .forClass(QCalendar.class).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY))); }
From source file:ru.apertum.qsystem.server.model.QServiceTree.java
License:Open Source License
@Override protected LinkedList<QService> load() { return new LinkedList<>(Spring.getInstance().getHt() .findByCriteria(DetachedCriteria.forClass(QService.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .add(Property.forName("deleted").isNull()).addOrder(Property.forName("seqId").asc()) .addOrder(Property.forName("id").asc()))); }
From source file:ru.apertum.qsystem.server.model.response.QResponseTree.java
License:Open Source License
@Override protected LinkedList<QRespItem> load() { return new LinkedList<>(Spring.getInstance().getHt() .findByCriteria(DetachedCriteria.forClass(QRespItem.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .add(Property.forName("deleted").isNull()).addOrder(Property.forName("id").asc()))); }
From source file:ru.apertum.qsystem.server.model.schedule.QBreaksList.java
License:Open Source License
@Override protected LinkedList<QBreaks> load() { return new LinkedList<>(Spring.getInstance().getHt().findByCriteria(DetachedCriteria.forClass(QBreaks.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY))); }
From source file:ru.apertum.qsystem.server.model.schedule.QScheduleList.java
License:Open Source License
@Override protected LinkedList<QSchedule> load() { return new LinkedList<>(Spring.getInstance().getHt().findByCriteria(DetachedCriteria .forClass(QSchedule.class).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY))); }
From source file:ubic.gemma.persistence.service.analysis.expression.diff.GeneDiffExMetaAnalysisDaoImpl.java
License:Apache License
/** * loads a neDifferentialExpressionMetaAnalysisResult *///w w w . j a va 2 s . co m @Override public GeneDifferentialExpressionMetaAnalysisResult loadResult(Long idResult) { Criteria geneQueryMetaAnalysis = this.getSessionFactory().getCurrentSession() .createCriteria(GeneDifferentialExpressionMetaAnalysisResult.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .add(Restrictions.like("id", idResult)); return (GeneDifferentialExpressionMetaAnalysisResult) geneQueryMetaAnalysis.list().iterator().next(); }
From source file:ubic.gemma.persistence.service.analysis.expression.diff.GeneDiffExMetaAnalysisDaoImpl.java
License:Apache License
/** * loads a DifferentialExpressionMetaAnalysis containing a specific result *///from ww w. j a va 2 s. com @Override public GeneDifferentialExpressionMetaAnalysis loadWithResultId(Long idResult) { Criteria geneQueryMetaAnalysis = this.getSessionFactory().getCurrentSession() .createCriteria(GeneDifferentialExpressionMetaAnalysis.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).createCriteria("results") .add(Restrictions.like("id", idResult)); return (GeneDifferentialExpressionMetaAnalysis) geneQueryMetaAnalysis.list().iterator().next(); }
From source file:ubic.gemma.persistence.service.association.phenotype.GenericExperimentDaoImpl.java
License:Apache License
/** * Find all Investigations for a specific pubmed *//*from w w w . j ava2s . co m*/ @Override public Collection<GenericExperiment> findByPubmedID(String pubmed) { Criteria genericExperiment = this.getSessionFactory().getCurrentSession() .createCriteria(GenericExperiment.class); genericExperiment.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .createCriteria("primaryPublication").createCriteria("pubAccession") .add(Restrictions.like("accession", pubmed)); //noinspection unchecked return genericExperiment.list(); }