Example usage for org.hibernate.criterion Projections count

List of usage examples for org.hibernate.criterion Projections count

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections count.

Prototype

public static CountProjection count(String propertyName) 

Source Link

Document

A property value count projection

Usage

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);
    }

}