private DetachedCriteria buildPMRDetachedQuery(List<Long> pipelineIds) { DetachedCriteria criteria = DetachedCriteria.forClass(PipelineMaterialRevision.class); criteria.add(Restrictions.in("pipelineId", pipelineIds)); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria; }
private DetachedCriteria buildModificationDetachedQuery(List<Criterion> criteria) { DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Modification.class); Disjunction disjunction = Restrictions.disjunction(); detachedCriteria.add(disjunction); for (Criterion criterion : criteria) { disjunction.add(criterion); } detachedCriteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return detachedCriteria; }
/** * Keeps track of the current criteria result transformer. * <p> * {@inheritDoc} */ @Override public DetachedCriteria setResultTransformer(ResultTransformer transformer) { DetachedCriteria returnedCrit = super.setResultTransformer(transformer); currentResultTransformer = transformer; return returnedCrit; }
@Override public ProjectionList distinct() { if(criteria != null) criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); else if(detachedCriteria != null) detachedCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return this; } }
@Override public UserData loadUserByLogin(String login) { long start = System.currentTimeMillis(); DetachedCriteria criteria = getDetachedCriteria().setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); UserData findUnique = findUnique(criteria, eq("login", login)); long duration = System.currentTimeMillis() - start; logger.severe("loadUserByLogin: " + duration); return findUnique; }
private SignupTimeslot loadSignupTimeslot(Long timeslotId) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupTimeslot.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY).add( Restrictions.eq("id", timeslotId)); List ls = getHibernateTemplate().findByCriteria(criteria); if (ls == null || ls.isEmpty()) return null; return (SignupTimeslot) ls.get(0); }
/** * {@inheritDoc} */ public SignupMeeting loadSignupMeeting(Long meetingId) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY).add( Restrictions.eq("id", meetingId)); List<SignupMeeting> ls = (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); if (ls == null || ls.isEmpty()) return null; return (SignupMeeting) ls.get(0); }
final DetachedCriteria authorCriteria = DetachedCriteria.forClass(Author.class, "author"); authorCriteria.createAlias("author.posts", "post"); authorCriteria.createAlias("post.tags", "tag"); final Criterion football = Restrictions.eq("tag.tagName", "Football"); final Criterion basketball = Restrictions.eq("tag.tagName", "Basketball"); authorCriteria.add(Restrictions.or(football, basketball)); authorCriteria.setResultTransformer(CriteriaSpecification.PROJECTION); final List<Author> result = (List<Author>) getConfiguredHibernateTemplate().findByCriteria(authorCriteria);
/** * {@inheritDoc} */ public int getAutoReminderTotalEventCounts(Date startDate, Date endDate) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY).add(Restrictions.eq("autoReminder", true)) .add(Restrictions.between("startTime", startDate, endDate)) .setProjection(Projections.rowCount()); List ls = getHibernateTemplate().findByCriteria(criteria); if (ls == null || ls.isEmpty()) return 0; Integer rowCount = (Integer) ls.get(0); return rowCount !=null? rowCount.intValue():0; }
@Override public Integer getCount(DbQuery query) throws DataAccessException { DetachedCriteria mobile = QueryUtils.projectionOn(DatasetEntity.PROPERTY_PROCEDURE, createMobileFilter(true)) .setResultTransformer(DistinctResultTransformer.INSTANCE); DetachedCriteria stationary = QueryUtils.projectionOn(DatasetEntity.PROPERTY_FEATURE, createMobileFilter(false)) .setResultTransformer(DistinctResultTransformer.INSTANCE); DatasetDao<DatasetEntity> datasetDao = new DatasetDao<>(session); return (int) Long.sum(count(stationary, datasetDao, query), count(mobile, datasetDao, query)); }
DetachedCriteria ids = DetachedCriteria.forClass(ProductStock.class, "stock"); ids.add(Restrictions.eq("stock.stockLevel", 0)); ids.setProjection(Property.forName("productId")); DetachedCriteria criteria = DetachedCriteria.forClass(Order.class, "order"); criteria.createAlias("order.orderItems", "items", CriteriaSpecification.LEFT_JOIN); criteria.add(Subqueries.propertyIn("items.productId", ids)); criteria.setResultTransformer(Criteria.ROOT_ENTITY);
@Override public Map<String, UserData> loadUsersByLogin(Collection<String> logins) { final List<UserData> users = findByCriteria(getDetachedCriteria() .add(Restrictions.in("login", logins)) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)); return new HashMap<String, UserData>(users.size()) {{ for (UserData user : users) { put(user.getLogin(), user); } }}; } }
/** * {@inheritDoc} */ @SuppressWarnings("unchecked") public List<SignupMeeting> getAllSignupMeetings(String siteId) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).addOrder(Order.asc("startTime")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .createCriteria("signupSites").add( Restrictions.eq("siteId", siteId)); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }
/** * {@inheritDoc} */ @SuppressWarnings("unchecked") public List<SignupMeeting> getRecurringSignupMeetings(String siteId, Long recurrenceId, Date currentTime) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY).add( Restrictions.eq("recurrenceId", recurrenceId)).add( Restrictions.gt("endTime", currentTime)).addOrder( Order.asc("startTime")).createCriteria("signupSites").add( Restrictions.eq("siteId", siteId)); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }
@Override public List<String> getAllLocations(String siteId) throws DataAccessException { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setProjection(Projections.distinct(Projections.projectionList() .add(Projections.property("location"), "location") )).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY) .addOrder(Order.asc("location")).createCriteria("signupSites") .add(Restrictions.eq("siteId", siteId)); List<String> locations = (List<String>) getHibernateTemplate().findByCriteria(criteria); if(locations !=null && !locations.isEmpty()){ return locations; } return null; }
@Override public List<String> getAllCategories(String siteId) throws DataAccessException { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setProjection(Projections.distinct(Projections.projectionList() .add(Projections.property("category"), "category") )).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY) .addOrder(Order.asc("category")).createCriteria("signupSites") .add(Restrictions.eq("siteId", siteId)); List<String> categorys = (List<String>) getHibernateTemplate().findByCriteria(criteria); if(categorys !=null && !categorys.isEmpty()){ return categorys; } return null; }
@SuppressWarnings("unchecked") public List<SignupMeeting> getSignupMeetingsInSite(String siteId, Date startDate, Date endDate) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY) .add(Restrictions.ge("endTime", startDate)) .add(Restrictions.lt("startTime", endDate)) .addOrder(Order.asc("startTime")).createCriteria("signupSites") .add(Restrictions.eq("siteId", siteId)); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }
/** * {@inheritDoc} */ @SuppressWarnings("unchecked") public List<SignupMeeting> getAutoReminderSignupMeetings(Date startDate, Date endDate) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY).add(Restrictions.eq("autoReminder", true)) //.add(Restrictions.between("startTime", startDate, endDate)) .add(Restrictions.le("startTime", endDate)) .add(Restrictions.ge("endTime",startDate)) .addOrder(Order.asc("startTime")); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }
/** * {@inheritDoc} */ @SuppressWarnings("unchecked") public List<SignupMeeting> getSignupMeetings(String siteId, Date startDate, Date endDate) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY) .add(Restrictions.ge("endTime", startDate)) .add(Restrictions.lt("startTime", endDate)) .addOrder(Order.asc("startTime")).createCriteria("signupSites") .add(Restrictions.eq("siteId", siteId)); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }
/** * {@inheritDoc} */ @SuppressWarnings("unchecked") public List<SignupMeeting> getSignupMeetingsInSites(List<String> siteIds, Date startDate, Date endDate) { DetachedCriteria criteria = DetachedCriteria.forClass( SignupMeeting.class).setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY) .add(Restrictions.ge("endTime", startDate)) .add(Restrictions.lt("startTime", endDate)) .addOrder(Order.asc("startTime")).createCriteria("signupSites") .add(Restrictions.in("siteId", siteIds)); return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria); }