List of usage examples for org.hibernate.criterion Projections count
public static CountProjection count(String propertyName)
From source file:com.denimgroup.threadfix.data.dao.hibernate.HibernateEventDao.java
License:Mozilla Public License
private List<Event> retrieveGrouped(List<String> eventActions, User user, Date startTime, Date stopTime, Set<Integer> appIds, Set<Integer> teamIds, Set<Integer> vulnIds, Set<Integer> defectIds) { Criteria criteria = getEventCriteria(eventActions, user, startTime, stopTime, appIds, teamIds, vulnIds, defectIds);//from www . ja va 2 s . c om criteria.setProjection(Projections.projectionList().add(Projections.count("id").as("groupCount")) .add(Projections.groupProperty("eventAction").as("eventAction")) .add(Projections.groupProperty("scan").as("scan")) .add(Projections.groupProperty("deletedScanId").as("deletedScanId")) .add(Projections.min("date"), "date").add(Projections.groupProperty("application"), "application") .add(Projections.groupProperty("user"), "user")); criteria.setResultTransformer(Transformers.aliasToBean(Event.class)); List<Event> events = criteria.list(); for (Event event : events) { EventAction eventAction = event.getEventActionEnum(); EventAction groupedEventAction = eventAction.getGroupedEventAction(); String groupedEventActionString = groupedEventAction.name(); event.setEventAction(groupedEventActionString); } return events; }
From source file:com.emergya.persistenceGeo.dao.impl.GenericHibernateDAOImpl.java
License:Open Source License
public Long getResults() { return (Long) getSession().createCriteria(persistentClass).setProjection(Projections.count("id")) .uniqueResult(); }
From source file:com.emergya.persistenceGeo.dao.impl.MultiSirDatabaseGenericHibernateDAOImpl.java
License:Open Source License
@Override public Long getResults() { return (Long) getSession().createCriteria(persistentClass).setProjection(Projections.count("id")) .uniqueResult(); }
From source file:com.example.barista.db.BaristaDAO.java
License:Apache License
/** * @return a random barista/*from w ww . ja v a 2 s. co m*/ */ public Barista random() { final long baristaCount = (long) criteria().setProjection(Projections.count("id")).uniqueResult(); return uniqueResult( criteria().add(Restrictions.eq("id", ThreadLocalRandom.current().nextLong(1, baristaCount + 1)))); }
From source file:com.example.barista.db.RecipeDAO.java
License:Apache License
/** * @return a random recipe/* ww w .jav a2 s.c om*/ */ public Recipe random() { final long recipeCount = (long) criteria().setProjection(Projections.count("id")).uniqueResult(); return uniqueResult( criteria().add(Restrictions.eq("id", ThreadLocalRandom.current().nextLong(1, recipeCount + 1)))); }
From source file:com.floreantpos.model.dao.PosTransactionDAO.java
License:Open Source License
public TransactionSummary getTransactionSummary(Terminal terminal, Class transactionClass, Date from, Date to) { Session session = null;/*from w w w . j ava2 s . c om*/ TransactionSummary summary = new TransactionSummary(); try { session = getSession(); Criteria criteria = session.createCriteria(transactionClass); criteria.add(Restrictions.eq(PosTransaction.PROP_DRAWER_RESETTED, Boolean.FALSE)); if (terminal != null) { criteria.add(Restrictions.eq(PosTransaction.PROP_TERMINAL, terminal)); } if (from != null && to != null) { criteria.add(Restrictions.ge(PosTransaction.PROP_TRANSACTION_TIME, from)); criteria.add(Restrictions.le(PosTransaction.PROP_TRANSACTION_TIME, to)); } ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.count(PosTransaction.PROP_ID)); projectionList.add(Projections.sum(PosTransaction.PROP_AMOUNT)); projectionList.add(Projections.sum(PosTransaction.PROP_TIPS_AMOUNT)); criteria.setProjection(projectionList); List list = criteria.list(); if (list == null || list.size() == 0) return summary; Object[] o = (Object[]) list.get(0); int index = 0; summary.setCount(HibernateProjectionsUtil.getInt(o, index++)); summary.setAmount(HibernateProjectionsUtil.getDouble(o, index++)); summary.setTipsAmount(HibernateProjectionsUtil.getDouble(o, index++)); return summary; } finally { closeSession(session); } }
From source file:com.floreantpos.model.dao.TicketDAO.java
License:Open Source License
public TicketSummary getOpenTicketSummary() { Session session = null;//from w w w. ja v a 2 s. c om TicketSummary ticketSummary = new TicketSummary(); try { session = getSession(); Criteria criteria = session.createCriteria(Ticket.class); criteria.add(Restrictions.eq(Ticket.PROP_CLOSED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_DRAWER_RESETTED, Boolean.FALSE)); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.count(Ticket.PROP_ID)); projectionList.add(Projections.sum(Ticket.PROP_TOTAL_AMOUNT)); criteria.setProjection(projectionList); List list = criteria.list(); if (list.size() > 0) { Object[] o = (Object[]) list.get(0); ticketSummary.setTotalTicket(((Integer) o[0]).intValue()); ticketSummary.setTotalPrice(o[1] == null ? 0 : ((Double) o[1]).doubleValue()); } return ticketSummary; } finally { closeSession(session); } }
From source file:com.floreantpos.model.dao.TicketDAO.java
License:Open Source License
public TicketSummary getClosedTicketSummary(Terminal terminal) { Session session = null;/* w w w . j a va 2 s . c om*/ TicketSummary ticketSummary = new TicketSummary(); try { session = getSession(); Criteria criteria = session.createCriteria(Ticket.class); criteria.add(Restrictions.eq(Ticket.PROP_CLOSED, Boolean.TRUE)); criteria.add(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_DRAWER_RESETTED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_TERMINAL, terminal)); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.count(Ticket.PROP_ID)); projectionList.add(Projections.sum(Ticket.PROP_TOTAL_AMOUNT)); criteria.setProjection(projectionList); List list = criteria.list(); if (list.size() > 0) { Object[] o = (Object[]) list.get(0); ticketSummary.setTotalTicket(((Integer) o[0]).intValue()); ticketSummary.setTotalPrice(o[1] == null ? 0 : ((Double) o[1]).doubleValue()); } return ticketSummary; } finally { closeSession(session); } }
From source file:com.github.khannedy.simplepos.service.impl.PenggunaServiceImpl.java
License:Open Source License
@Transactional(readOnly = true) public boolean contains(String id, String kataSandi) { Long count = (Long) currentSession().createCriteria(clazz).setProjection(Projections.count("id")) .add(Restrictions.eq("id", id)).add(Restrictions.eq("kataSandi", kataSandi)).setMaxResults(1) .uniqueResult();//from w w w . ja va2 s . c o m return count > 0; }
From source file:com.heliosapm.aa4h.parser.XMLQueryParser.java
License:Apache License
/** * Adds a new projection to the current projectionList stack. * Mandatory Attributes:<ul>/*w w w . j a v a 2s .c o m*/ * <li><b>name</b>: The field to create a projection on.</li> * <li><b>type</b>: The projection type.</li> * <li><b>alias</b>: The name applied to the projection returned field.</li> * </ul> * @param attrs The attributes of the processed node. * @throws SAXException * TODO: Implement checks for mandatory attributes. */ public void addProjection(Attributes attrs) throws SAXException { ProjectionList projectionList = projectionStack.peek(); if (projectionList == null) { throw new SAXException( "Attempted to add Projection and no ProjectionList Exists On The Stack. (Projection must be embedded inside a Projections)"); } String type = attrs.getValue("type"); String name = attrs.getValue("name"); String alias = attrs.getValue("alias"); if ("avg".equalsIgnoreCase(type)) { projectionList.add(Projections.avg(name), alias); } else if ("count".equalsIgnoreCase(type)) { projectionList.add(Projections.count(name), alias); } else if ("countDistinct".equalsIgnoreCase(type)) { projectionList.add(Projections.countDistinct(name), alias); } else if ("groupProperty".equalsIgnoreCase(type)) { projectionList.add(Projections.groupProperty(name), alias); } else if ("max".equalsIgnoreCase(type)) { projectionList.add(Projections.max(name), alias); } else if ("min".equalsIgnoreCase(type)) { projectionList.add(Projections.min(name), alias); } else if ("sum".equalsIgnoreCase(type)) { projectionList.add(Projections.sum(name), alias); } else if ("rowCount".equalsIgnoreCase(type)) { projectionList.add(Projections.rowCount(), alias); } }