List of usage examples for org.hibernate.criterion Projections groupProperty
public static PropertyProjection groupProperty(String propertyName)
From source file:org.egov.ptis.actions.reports.BoundaryWisePropUsgeDelegate.java
License:Open Source License
public List getWardList(Integer zoneNo) { LOGGER.debug("Entered into getWardList method"); LOGGER.debug("Zone Number : " + zoneNo); List wardList = null;/* w w w .j a v a 2 s.com*/ Conjunction conjun = Restrictions.conjunction(); if (zoneNo > 0) { Criterion criterion = Restrictions.like("zone.id", zoneNo); conjun.add(criterion); Integer vacTypeId = getPropertyIdbyCode("OPEN_PLOT"); // Criterion anothercriterion = Restrictions.ne("propTypeMstrID", // vacTypeId); // conjun.add(anothercriterion); Projection projection = Projections.projectionList().add(Projections.property("ward.id")) .add(Projections.property("propTypeMstrID.id")).add(Projections.sum("aggrArrDmd")) .add(Projections.sum("aggrCurrDmd")).add(Projections.count("basicPropertyID")) .add(Projections.groupProperty("ward.id")).add(Projections.groupProperty("propTypeMstrID")); Order order = Order.asc("ward.id"); wardList = propertyDAO.getPropMaterlizeViewList(projection, conjun, order); } LOGGER.debug("Ward list : " + (wardList != null ? wardList : ZERO)); LOGGER.debug("Exit from getWardList method"); return wardList; }
From source file:org.egov.ptis.actions.reports.ZoneWiseDemandAction.java
License:Open Source License
@Override public String execute() { LOGGER.debug("Entered into execute method"); String target = "failure"; List zoneDemandList;//w w w. j a v a 2 s .c o m LinkedList<Map<String, Object>> links; try { HttpServletRequest request = ServletActionContext.getRequest(); // criterion object consists of statements that needs to done in // where clause Criterion criterion = null; // Projection object consists of the fields that are required in // select statements Projection projection = Projections.projectionList().add(Projections.property("zone.id")) .add(Projections.sum("aggrArrDmd")).add(Projections.sum("aggrCurrDmd")) .add(Projections.groupProperty("zone.id")); // In Order object we can mention the order in which result needs to // displayed. Order order = Order.asc("zone.id"); zoneDemandList = propertyDAO.getPropMaterlizeViewList(projection, criterion, order); LOGGER.debug("Zone wise demand list : " + (zoneDemandList != null ? zoneDemandList : ZERO)); links = prepareDispTagList(zoneDemandList); request.setAttribute("links", links); target = "success"; } catch (Exception e) { target = "failure"; LOGGER.error("Error in ZoneWiseDemandAction : " + e.getMessage()); throw new ApplicationRuntimeException("error in ZoneWiseDemandAction---------------", e); } LOGGER.debug("Exit from execute method"); return target; }
From source file:org.encuestame.persistence.dao.imp.FrontEndDao.java
License:Apache License
@SuppressWarnings("unchecked") public List<Hit> getHashTagHitsRange(final Long tagId, final SearchPeriods period) { final DetachedCriteria criteria = DetachedCriteria.forClass(Hit.class); criteria.createAlias("hashTag", "hashTag"); criteria.add(Restrictions.eq("hashTag.hashTagId", tagId)); criteria.addOrder(Order.desc("hitDate")); // define as a VISIT category criteria.add(Restrictions.eq("hitCategory", HitCategory.VISIT)); ProjectionList projList = Projections.projectionList(); projList.add(Projections.groupProperty("hitDate")); projList.add(Projections.rowCount()); criteria.setProjection(projList);// w ww . ja va2s . com return (List<Hit>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.encuestame.persistence.dao.imp.PollDao.java
License:Apache License
@SuppressWarnings("unchecked") public List<Object[]> getPollsRangeStats(final String tagName, final SearchPeriods period) { final DetachedCriteria detached = DetachedCriteria.forClass(Poll.class).createAlias("hashTags", "hashTags") .setProjection(Projections.id()) .add(Subqueries.propertyIn("hashTags.hashTagId", DetachedCriteria.forClass(HashTag.class, "hash").setProjection(Projections.id()) .add(Restrictions.in("hash.hashTag", new String[] { tagName })))); final DetachedCriteria criteria = DetachedCriteria.forClass(Poll.class, "poll"); criteria.add(Subqueries.propertyIn("poll.pollId", detached)); criteria.addOrder(Order.desc("poll.createDate")); criteria.add(Restrictions.eq("publish", Boolean.TRUE)); calculateSearchPeriodsDates(period, criteria, "createDate"); ProjectionList projList = Projections.projectionList(); projList.add(Projections.groupProperty("createDate")); projList.add(Projections.rowCount()); criteria.setProjection(projList);/*from w w w . j av a 2s .co m*/ return (List<Object[]>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.encuestame.persistence.dao.imp.SurveyDaoImp.java
License:Apache License
@SuppressWarnings("unchecked") public List<Object[]> getSurveysRangeStats(final String tagName, final SearchPeriods period) { final DetachedCriteria detached = DetachedCriteria.forClass(Survey.class) .createAlias("hashTags", "hashTags").setProjection(Projections.id()) .add(Subqueries.propertyIn("hashTags.hashTagId", DetachedCriteria.forClass(HashTag.class, "hash").setProjection(Projections.id()) .add(Restrictions.in("hash.hashTag", new String[] { tagName })))); final DetachedCriteria criteria = DetachedCriteria.forClass(Survey.class, "survey"); criteria.add(Subqueries.propertyIn("survey.sid", detached)); criteria.addOrder(Order.desc("survey.createDate")); ProjectionList projList = Projections.projectionList(); projList.add(Projections.groupProperty("createDate")); projList.add(Projections.rowCount()); criteria.setProjection(projList);//from w w w. j a v a 2 s . c om return (List<Object[]>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.encuestame.persistence.dao.imp.TweetPollDao.java
License:Apache License
@SuppressWarnings("unchecked") //FUTURE: this method return a List<Object[]> instead List<TweetPoll> public List<TweetPoll> getTweetPollsbyHashTagNameAndDateRange(final String tagName, final SearchPeriods period) { final DetachedCriteria detached = DetachedCriteria.forClass(TweetPoll.class) .createAlias("hashTags", "hashTags").setProjection(Projections.id()) .add(Subqueries.propertyIn("hashTags.hashTagId", DetachedCriteria.forClass(HashTag.class, "hash").setProjection(Projections.id()) .add(Restrictions.in("hash.hashTag", new String[] { tagName })))); final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPoll.class, "tweetPoll"); criteria.add(Subqueries.propertyIn("tweetPoll.tweetPollId", detached)); criteria.addOrder(Order.desc("tweetPoll.createDate")); criteria.add(Restrictions.eq("publishTweetPoll", Boolean.TRUE)); ProjectionList projList = Projections.projectionList(); projList.add(Projections.groupProperty("createDate")); projList.add(Projections.rowCount()); criteria.setProjection(projList);//from www.jav a 2s . c o m // calculateSearchPeriodsDates(period, criteria, "createDate"); return (List<TweetPoll>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.encuestame.persistence.dao.imp.TweetPollDao.java
License:Apache License
@SuppressWarnings("unchecked") public List<Object[]> getTweetPollsRangeStats(final String tagName, final SearchPeriods period) { final DetachedCriteria detached = DetachedCriteria.forClass(TweetPoll.class) .createAlias("hashTags", "hashTags").setProjection(Projections.id()) .add(Subqueries.propertyIn("hashTags.hashTagId", DetachedCriteria.forClass(HashTag.class, "hash").setProjection(Projections.id()) .add(Restrictions.in("hash.hashTag", new String[] { tagName })))); final DetachedCriteria criteria = DetachedCriteria.forClass(TweetPoll.class, "tweetPoll"); criteria.add(Subqueries.propertyIn("tweetPoll.tweetPollId", detached)); criteria.addOrder(Order.desc("tweetPoll.createDate")); criteria.add(Restrictions.eq("publishTweetPoll", Boolean.TRUE)); ProjectionList projList = Projections.projectionList(); projList.add(Projections.groupProperty("createDate")); projList.add(Projections.rowCount()); criteria.setProjection(projList);/*w w w . j ava 2 s . c o m*/ calculateSearchPeriodsDates(period, criteria, "createDate"); return (List<Object[]>) getHibernateTemplate().findByCriteria(criteria); }
From source file:org.eurocarbdb.dataaccess.indexes.IndexByMostEvidence.java
License:Open Source License
public void apply(Criteria query) { /* /*from ww w . j a v a 2 s . co m*/ * the query for this index requires a horrible hibernate hack. * basically, the incoming Criteria query depends on an SQL * 'group by', which, due to Hibernate limitations, screws over * the select clause. So, we attach a results transformer to the * query that post-processes the result set from a list of * GlycanSequence ids into GlycanSequence objects through a * separate query. */ query.createAlias("glycanEvidence", "gs2ev", LEFT_JOIN) .setProjection(Projections.projectionList().add(Projections.groupProperty("glycanSequenceId")) .add(Projections.count("gs2ev.evidence").as("ev"))) .addOrder(Order.desc("ev")).setResultTransformer(new PassThroughResultTransformer() { public List transformList(List results) { if (results == null || results.size() == 0) return results; List<Object[]> rows = (List<Object[]>) results; // the lookup hash Map<Integer, GlycanSequence> hash = new HashMap<Integer, GlycanSequence>(results.size()); // gather the sequence ids List<Integer> ids = new ArrayList<Integer>(results.size()); for (Object[] columns : rows) ids.add((Integer) columns[0]); // look them up List<GlycanSequence> seqs = (List<GlycanSequence>) getEntityManager() .createQuery(GlycanSequence.class).add(Restrictions.in("glycanSequenceId", ids)) .setFetchSize(ids.size()) // .setCacheable( true ) .list(); for (GlycanSequence seq : seqs) hash.put(seq.getGlycanSequenceId(), seq); seqs.clear(); for (Integer id : ids) seqs.add(hash.get(id)); return seqs; } /* public Object transformTuple( Object[] tuple, String[] aliases ) { int id = (Integer) tuple[0]; return getEntityManager().lookup( GlycanSequence.class, id ); } */ }); /* // attempt 2 query .createAlias("glycanEvidence", "gs2ev", LEFT_JOIN ) .addOrder( new Order( "irrelevant", false ) { public final String toSqlString( Criteria c, CriteriaQuery q ) { // return "count( gs2ev.evidence_id ) desc"; return "count( " + "gs2ev1_"//q.getSQLAlias( query, "glycanEvidence" ) + ".evidence_id ) desc"; } } ) ; */ /* // attempt 3 query .createAlias("glycanEvidence", "gs2ev", LEFT_JOIN ) .setProjection( Projections.groupProperty("glycanSequenceId").as("glycanSequenceId") ) .addOrder( new Order( "irrelevant", false ) { public final String toSqlString( Criteria c, CriteriaQuery q ) { // return "count( gs2ev.evidence_id ) desc"; return "count( " + "gs2ev1_"//q.getSQLAlias( query, "glycanEvidence" ) + ".evidence_id ) desc"; } } ) .setResultTransformer( org.hibernate.transform.Transformers.aliasToBean( GlycanSequence.class ) ) ; */ }
From source file:org.gaixie.micrite.car.dao.hibernate.CarfileDAOImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public List findCSGroupByTelVague(SearchBean[] queryBean) { DetachedCriteria criteria = SearchFactory.generateCriteria(Carfile.class, queryBean); criteria.add(Expression.eq("status", ICarfileService.STATUS_NORMAL)); criteria.addOrder(Order.desc("editDate")); criteria.createAlias("carType", "cs"); criteria.setProjection(Projections.projectionList().add(Projections.count("cs.name")) .add(Projections.groupProperty("cs.name"))); List<Carfile> list = getHibernateTemplate().findByCriteria(criteria); // desidedExpiredFlag(list); return list;// ww w . j a v a 2s. c o m }
From source file:org.gaixie.micrite.crm.dao.hibernate.CustomerDAOImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public List findCSGroupByTelVague(SearchBean[] queryBean) { DetachedCriteria criteria = SearchFactory.generateCriteria(Carowner.class, queryBean); criteria.createAlias("customerSource", "cs"); criteria.setProjection(Projections.projectionList().add(Projections.count("cs.name")) .add(Projections.groupProperty("cs.name"))); return getHibernateTemplate().findByCriteria(criteria); }