List of usage examples for org.hibernate.criterion Projections distinct
public static Projection distinct(Projection projection)
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getFeatureOfInterestTypes(Session session) { return session.createCriteria(FeatureOfInterestType.class) .add(Restrictions.ne(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE, OGCConstants.UNKNOWN)) .setProjection(/* w ww . j a v a 2s .co m*/ Projections.distinct(Projections.property(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE))) .list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getFeatureOfInterestTypesForFeatureOfInterest( Collection<String> featureOfInterestIDs, Session session) { return session.createCriteria(FeatureOfInterest.class) .add(Restrictions.in(FeatureOfInterest.IDENTIFIER, featureOfInterestIDs)) .createCriteria(FeatureOfInterest.FEATURE_OF_INTEREST_TYPE) .setProjection(//w ww . j a v a2 s . co m Projections.distinct(Projections.property(FeatureOfInterestType.FEATURE_OF_INTEREST_TYPE))) .list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getObservablePropertyIdentifiersForProcedure(String procedureID, Session session) { Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)); c.createCriteria(Observation.OBSERVABLE_PROPERTY) .setProjection(Projections.distinct(Projections.property(ObservableProperty.IDENTIFIER))); c.createCriteria(Observation.PROCEDURE).add(Restrictions.eq(Procedure.IDENTIFIER, procedureID)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static List<String> getOfferingIdentifiersForProcedure(String procedureID, Session session) { Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)); c.createCriteria(Observation.OFFERINGS) .setProjection(Projections.distinct(Projections.property(Offering.IDENTIFIER))); c.createCriteria(Observation.PROCEDURE).add(Restrictions.eq(Procedure.IDENTIFIER, procedureID)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static Collection<String> getOfferingIdentifiersForObservableProperty(String observablePropertyID, Session session) {/*from w w w .j a v a 2 s .c om*/ Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)); c.createCriteria(Observation.OFFERINGS) .setProjection(Projections.distinct(Projections.property(Offering.IDENTIFIER))); c.createCriteria(Observation.OBSERVABLE_PROPERTY) .add(Restrictions.eq(ObservableProperty.IDENTIFIER, observablePropertyID)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.util.HibernateCriteriaQueryUtilities.java
License:Open Source License
@Deprecated @SuppressWarnings("unchecked") public static Collection<String> getProcedureIdentifiersForObservableProperty(String observablePropertyID, Session session) {/*w ww .j av a 2 s .c o m*/ Criteria c = session.createCriteria(Observation.class).add(Restrictions.eq(Observation.DELETED, false)); c.createCriteria(Observation.PROCEDURE) .setProjection(Projections.distinct(Projections.property(Procedure.IDENTIFIER))); c.createCriteria(Observation.OBSERVABLE_PROPERTY) .add(Restrictions.eq(ObservableProperty.IDENTIFIER, observablePropertyID)); return c.list(); }
From source file:org.n52.sos.ds.hibernate.util.TemporalRestrictionTest.java
License:Open Source License
@SuppressWarnings("unchecked") private Set<Identifier> filter(TimePrimitiveFieldDescriptor d, TemporalRestriction r, Time time, Session session) throws OwsExceptionReport { List<String> list = session.createCriteria(getObservationClass(session)).add(r.get(d, time)) .setProjection(Projections.distinct(Projections.property(AbstractObservation.IDENTIFIER))).list(); Set<Identifier> s = EnumSet.noneOf(Identifier.class); for (String id : list) { s.add(valueOf(id));/* www.ja va 2s. c om*/ } return s; }
From source file:org.onebusaway.gtfs_realtime.archiver.service.VehiclePositionDaoImpl.java
License:Apache License
@Override public List<String> getAllVehicleIds() { // select distinct vehicleId from VehiclePositionModel Projection prop = Projections.distinct(Projections.property("vehicleId")); DetachedCriteria criteria = DetachedCriteria.forClass(VehiclePositionModel.class).setProjection(prop); return _template.findByCriteria(criteria); }
From source file:org.openhie.openempi.blocking.basicblockinghp.dao.hibernate.BlockingDaoHibernate.java
License:Open Source License
@SuppressWarnings({ "unchecked", "rawtypes" }) public List<String> getBlockingKeyValues(final List<String> fields) { return (List<String>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { List<String> values = new java.util.ArrayList<String>(); ProjectionList projectionList = Projections.projectionList(); for (String field : fields) { projectionList.add(Projections.property(field), field); }/*w ww . ja va2s . co m*/ org.hibernate.Criteria criteria = session.createCriteria(Person.class, "person_") .setProjection(Projections.distinct(projectionList)); for (String field : fields) { criteria.add(Expression.isNotNull("person_." + field)); } log.debug("Blocking criteria query: " + criteria.toString()); List list = (List<Object[]>) criteria.list(); if (list.size() == 0) { return values; } // Query returns either a list of Object or a list of arrays of objects depending on // whether one or more than one blocking fields are used. if (!(list.get(0) instanceof Object[])) { List<Object> theValues = (List<Object>) list; for (Object value : theValues) { values.add(value.toString()); } return values; } List<Object[]> objectArrayValues = (List<Object[]>) list; for (Object[] row : objectArrayValues) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < row.length; i++) { sb.append(row[i].toString().trim()); } values.add(sb.toString()); } return values; } }); }
From source file:org.openhie.openempi.blocking.basicblockinghp.dao.hibernate.BlockingDaoHibernate.java
License:Open Source License
@SuppressWarnings({ "unchecked", "rawtypes" }) public List<List<NameValuePair>> getDistinctValues(final List<String> fields) { return (List<List<NameValuePair>>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { ProjectionList projectionList = Projections.projectionList(); for (String field : fields) { projectionList.add(Projections.property(field), field); }// w ww.ja v a 2 s. c om org.hibernate.Criteria criteria = session.createCriteria(Person.class, "person_") .setProjection(Projections.distinct(projectionList)); for (String field : fields) { criteria.add(Expression.isNotNull("person_." + field)); } log.debug("Blocking criteria query: " + criteria.toString()); List list = (List<Object[]>) criteria.list(); List<List<NameValuePair>> pairs = new ArrayList<List<NameValuePair>>(list.size()); if (list.size() == 0) { return pairs; } // Query returns either a list of Object or a list of arrays of objects depending on // whether one or more than one blocking fields are used. if (!(list.get(0) instanceof Object[])) { List<Object> theValues = (List<Object>) list; for (Object value : theValues) { List<NameValuePair> distinctRowValues = new ArrayList<NameValuePair>(1); distinctRowValues.add(new NameValuePair(fields.get(0), value)); pairs.add(distinctRowValues); } return pairs; } List<Object[]> objectArrayValues = (List<Object[]>) list; for (Object[] row : objectArrayValues) { List<NameValuePair> distinctRowValues = new ArrayList<NameValuePair>(row.length); for (int i = 0; i < row.length; i++) { NameValuePair pair = new NameValuePair(fields.get(i), row[i]); distinctRowValues.add(pair); } pairs.add(distinctRowValues); } return pairs; } }); }