List of usage examples for org.hibernate.criterion Projections distinct
public static Projection distinct(Projection projection)
From source file:gov.nih.nci.cananolab.service.sample.helper.SampleServiceHelper.java
License:BSD License
public List<String> findSampleIdsByOwner(String currentOwner) throws Exception { List<String> sampleIds = new ArrayList<String>(); // can't query for the entire Sample object due to // limitations in pagination in SDK // Sample sample = new Sample(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("id")); DetachedCriteria crit = DetachedCriteria.forClass(Sample.class); crit.setProjection(Projections.distinct(projectionList)); Criterion crit1 = Restrictions.eq("createdBy", currentOwner); // in case of copy createdBy is like lijowskim:COPY Criterion crit2 = Restrictions.like("createdBy", currentOwner + ":", MatchMode.START); crit.add(Expression.or(crit1, crit2)); CaNanoLabApplicationService appService = (CaNanoLabApplicationService) ApplicationServiceProvider .getApplicationService();/*from w w w.j a va 2 s .co m*/ List results = appService.query(crit); for (int i = 0; i < results.size(); i++) { String id = results.get(i).toString(); if (springSecurityAclService.currentUserHasReadPermission(Long.valueOf(id), SecureClassesEnum.SAMPLE.getClazz()) || springSecurityAclService.currentUserHasWritePermission(Long.valueOf(id), SecureClassesEnum.SAMPLE.getClazz())) { sampleIds.add(id); } else { logger.debug("User doesn't have access to sample of ID: " + id); } } return sampleIds; }
From source file:gov.nih.nci.eagle.util.UILookupLoader.java
License:BSD License
private void init() { valueMap = new HashMap<String, List<String>>(); hibernateTemplate.execute(new HibernateCallback() { public Object doInHibernate(Session sess) throws HibernateException, SQLException { Criteria criteria = sess.createCriteria(Lifestyle.class); criteria.setProjection(Projections.distinct(Projections.property(RESIDENTIAL_AREA))); List list = criteria.list(); list.remove(null);/*from www .j a v a 2s . com*/ valueMap.put(RESIDENTIAL_AREA, list); return null; } }); }
From source file:grails.orm.HibernateCriteriaBuilder.java
License:Apache License
/** * A projection that selects a distince property name * @param propertyName The property name * @param alias The alias to use/*from w ww .jav a 2 s.co m*/ */ public org.grails.datastore.mapping.query.api.Projections distinct(String propertyName, String alias) { final Projection proj = Projections.distinct(Projections.property(calculatePropertyName(propertyName))); addProjectionToList(proj, alias); return this; }
From source file:grails.orm.HibernateCriteriaBuilder.java
License:Apache License
/** * A distinct projection that takes a list * * @param propertyNames The list of distince property names * @param alias The alias to use// w w w. j a v a 2 s. co m */ @SuppressWarnings("rawtypes") public org.grails.datastore.mapping.query.api.Projections distinct(Collection propertyNames, String alias) { ProjectionList list = Projections.projectionList(); for (Object o : propertyNames) { list.add(Projections.property(calculatePropertyName(o.toString()))); } final Projection proj = Projections.distinct(list); addProjectionToList(proj, alias); return this; }
From source file:it.av.es.service.impl.CittaServiceHibernate.java
License:Apache License
@Override public List<String> findCapByComune(String comune, int maxResults) { Order orderByName = Order.asc("cap"); Criteria criteria = getHibernateSession().createCriteria(Citta.class); criteria.setProjection(Projections.distinct(Projections.property("cap"))); if (StringUtils.isNotBlank(comune)) { Criterion critByName = Restrictions.ilike("comune", comune); criteria.add(critByName);/* w w w .j a v a 2 s . co m*/ } criteria.addOrder(orderByName); if (maxResults > 0) { criteria.setMaxResults(maxResults); } return criteria.list(); }
From source file:it.av.es.service.impl.CittaServiceHibernate.java
License:Apache License
@Override public List<String> findCap(String pattern, int maxResults) { Order orderByName = Order.asc("cap"); Criteria criteria = getHibernateSession().createCriteria(Citta.class); criteria.setProjection(Projections.distinct(Projections.property("cap"))); if (StringUtils.isNotBlank(pattern)) { Criterion critByName = Restrictions.ilike("cap", pattern, MatchMode.ANYWHERE); criteria.add(critByName);/*from w w w . j a va 2 s. c om*/ } criteria.addOrder(orderByName); if (maxResults > 0) { criteria.setMaxResults(maxResults); } return criteria.list(); }
From source file:it.av.es.service.impl.CittaServiceHibernate.java
License:Apache License
@Override public List<String> findProvinciaByComune(String comune, int maxResults) { Criterion critByName = Restrictions.ilike("comune", comune); Order orderByName = Order.asc("provincia"); Criteria criteria = getHibernateSession().createCriteria(Citta.class); criteria.setProjection(Projections.distinct(Projections.property("provincia"))); criteria.add(critByName);/* w w w.j av a2 s. c om*/ criteria.addOrder(orderByName); if (maxResults > 0) { criteria.setMaxResults(maxResults); } return criteria.list(); }
From source file:it.av.youeat.service.impl.RistoranteServiceHibernate.java
License:Apache License
/** * {@inheritDoc}//www.j a v a 2s.c om */ @Override public List<City> getCityWithRistoByCountry(Country country, int firstResult, int maxResults) { Criteria criteria = getHibernateSession().createCriteria(getPersistentClass()); if (country != null) { criteria.add(Restrictions.eq(Ristorante.COUNTRY, country)); } criteria.setFirstResult(firstResult); criteria.setMaxResults(maxResults); criteria.setProjection(Projections.distinct(Projections.property(Ristorante.CITY))); List<City> cities = (List<City>) criteria.list(); Collections.sort(cities); return cities; }
From source file:it.av.youeat.service.impl.RistoranteServiceHibernate.java
License:Apache License
/** * {@inheritDoc}/*w w w .jav a 2 s . c o m*/ */ @Override public List<Country> getCountryWithRisto() { Criteria criteria = getHibernateSession().createCriteria(getPersistentClass()); criteria.setProjection(Projections.distinct(Projections.property(Ristorante.COUNTRY))); List<Country> countries = (List<Country>) criteria.list(); Collections.sort(countries); return countries; }
From source file:it.unitn.elisco.dao.AnswerDAO.java
List<Question> getDistinctApprovedQuestionsFromAnswers(Context context) { Session s = HibernateUtil.getSession(); Transaction tx = s.beginTransaction(); List<Question> res = s.createCriteria(Answer.class).add(Restrictions.eq("context", context)) .setProjection(Projections.distinct(Projections.property("question"))).list(); tx.commit();// www.java2 s . c o m s.close(); return res; }