Example usage for org.hibernate.criterion Projections rowCount

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

Introduction

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

Prototype

public static Projection rowCount() 

Source Link

Document

The query row count, ie.

Usage

From source file:com.bookselling.dao.TradeDaoImpl.java

@Override
public PaginationData<Trade> get(User user, int first, int items) {
    Criteria criteria = getSession().createCriteria(Trade.class);
    criteria.createAlias("buyer", "byer").add(Restrictions.eq("byer.id", user.getId()));

    criteria.setFirstResult(first);//from  w  w w. j  a va 2  s. c  o  m
    criteria.setMaxResults(items);

    Set<Trade> trades = new HashSet<>(criteria.list());
    HibernateInitSupport.setCls(Trade.class);
    for (Trade trade : trades)
        HibernateInitSupport.initDomain(trade);

    PaginationData paginationData = new PaginationData(
            (long) criteria.setProjection(Projections.rowCount()).uniqueResult(), items, first, trades);

    return paginationData;
}

From source file:com.bookselling.dao.UserDaoImpl.java

@Override
public PaginationData get(int first, int items) {
    Criteria criteria = getSession().createCriteria(User.class);
    criteria.createAlias("account", "acc").createAlias("acc.role", "rl").add(Restrictions.eq("rl.id", USER_ID));

    Set<User> users = new HashSet<>(criteria.list());
    HibernateInitSupport.setCls(User.class);
    for (User user : users)
        HibernateInitSupport.initDomain(user);

    //Pagination//from ww  w . ja  v a2s  .c  om
    PaginationData paginationData = new PaginationData(
            (long) criteria.setProjection(Projections.rowCount()).uniqueResult(), items, first, users);

    return paginationData;
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * /*from  w w  w  .j  av a  2 s .co m*/
 * 
 * @param periodId
 * @return
 */
@SuppressWarnings("unchecked")
@Transactional(readOnly = true)
public Integer calAllSchemeCount(Long periodId) {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.eq("periodId", periodId));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * //from w w w.  j  a v  a 2  s .  c o  m
 * 
 * @param periodId
 * @return
 */
@Transactional(readOnly = true)
public Integer calAllPrizeCount(Long periodId) {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.eq("periodId", periodId));
    criteria.add(Restrictions.eq("won", true));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ?/*from   w  w w .  java  2  s . c  o m*/
 * 
 * @param periodId
 * @return
 */
@Transactional(readOnly = true)
public Integer calSuccessSchemeCount(Long periodId) {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.eq("periodId", periodId));
    criteria.add(Restrictions.eq("state", SchemeState.SUCCESS));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ??/*  ww  w . java2 s . c  om*/
 * 
 * @param dateNow
 *            
 * @param beforeTime
 *            ???
 * @return ???
 */
@Transactional(readOnly = true)
public Integer getCanChaseIssueNum(Date dateNow, Integer beforeTime) {
    if (null == dateNow)
        return null;
    if (null == beforeTime)
        return null;
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 0);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.not(Restrictions.eq("state", IssueState.ISSUE_SATE_FINISH)));
    criteria.add(Restrictions.gt("endedTime", DateUtils.addMinutes(dateNow, beforeTime)));
    criteria.addOrder(Order.asc("endedTime"));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria, true);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.certus.actions.AdimnProductFilterAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session ses = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    int pageIndex = 0;
    int totalNumberOfRecords = 0;
    int numberOfRecordsPerPage = 9;

    String sPageIndex = request.getParameter("pgIndex");
    pageIndex = sPageIndex == null ? 1 : Integer.parseInt(sPageIndex);

    int s = (pageIndex * numberOfRecordsPerPage) - numberOfRecordsPerPage;

    if (request.getParameter("category") != null) {
        List<ProductHasSize> phs = ses.createCriteria(ProductHasSize.class, "phs")
                .createAlias("phs.size", "size").createAlias("phs.product", "pro")
                .createAlias("pro.subCategory", "sub").createAlias("sub.category", "cat")
                .add(Restrictions.eq("size.sizeName", request.getParameter("size")))
                .add(Restrictions.eq("sub.subCategoryName", request.getParameter("sub_category")))
                .add(Restrictions.eq("cat.catName", request.getParameter("category")))
                .add(Restrictions.eq("pro.availability", Boolean.valueOf(request.getParameter("status"))))
                .setFirstResult(s).setMaxResults(numberOfRecordsPerPage).list();
        String s1 = "", s2 = "";
        for (ProductHasSize pro : phs) {
            String avlOn = pro.getProduct().isAvailability() ? "btn-danger" : "btn-default";
            String avlOff = pro.getProduct().isAvailability() ? "btn-default" : "btn-danger";
            s1 = s1 + "<tr>" + "<td>" + pro.getProduct().getName() + "</td>" + "<td>"
                    + "<div class='btn-group btn-toggle'>" + "<button class='btn btn-xs " + avlOn
                    + "' onclick='onBtnClick(" + pro.getProduct().getId() + "," + pageIndex
                    + ");' type='button'>ON</button>" + "<button class='btn btn-xs " + avlOff
                    + "' onclick='offBtnClick(" + pro.getProduct().getId() + "," + pageIndex
                    + ");' type='button'>OFF</button>" + "</div>" + "</td>" + "<td>"
                    + pro.getSize().getSizeName() + "</td>" + "<td>" + pro.getQnty() + "</td>" + "<td>Rs."
                    + pro.getPrice() + "</td>" + "<td>" + "<a href='edit_product.jsp?pid="
                    + pro.getProduct().getId() + "&sid=" + pro.getSize().getId() + "'>"
                    + "    <span class='glyphicon glyphicon-edit'></span>" + "</a>" + "</td>" + "</tr>"
                    + "<tr> ";

        }//from  w  w w. j a  v a2s.  co m
        Criteria criteriaCount = ses.createCriteria(ProductHasSize.class, "phs").createAlias("phs.size", "size")
                .createAlias("phs.product", "pro").createAlias("pro.subCategory", "sub")
                .createAlias("sub.category", "cat")
                .add(Restrictions.eq("size.sizeName", request.getParameter("size")))
                .add(Restrictions.eq("sub.subCategoryName", request.getParameter("sub_category")))
                .add(Restrictions.eq("cat.catName", request.getParameter("category")))
                .add(Restrictions.eq("pro.availability", Boolean.valueOf(request.getParameter("status"))));
        criteriaCount.setProjection(Projections.rowCount());
        totalNumberOfRecords = (int) (long) (Long) criteriaCount.uniqueResult();

        int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;

        if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
            noOfPages = noOfPages + 1;
        }

        for (int j = 1; j <= noOfPages; j++) {
            if (noOfPages > 1) {
                String myurl = "products.jsp?sizeName=" + request.getParameter("size") + "&" + "subCategory="
                        + request.getParameter("sub_category") + "&" + "catName="
                        + request.getParameter("category") + "&status=" + request.getParameter("status")
                        + "&pgIndex=" + j;
                if (j == pageIndex) {
                    s2 += "<span class='current'>" + j + "</span>";
                } else {
                    s2 += "<a href='" + myurl + "'>" + j + "</a>";
                }
            }

        }
        ses.close();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write("[{\"d1\":\"" + s1 + "\",\"d2\":\"" + s2 + "\"}]");

    } else {
        List<ProductHasSize> phs = ses.createCriteria(ProductHasSize.class).setFirstResult(s)
                .setMaxResults(numberOfRecordsPerPage).list();
        String s1 = "", s2 = "";
        for (ProductHasSize pro : phs) {
            String avlOn = pro.getProduct().isAvailability() ? "btn-danger" : "btn-default";
            String avlOff = pro.getProduct().isAvailability() ? "btn-default" : "btn-danger";
            s1 = s1 + "<tr>" + "<td>" + pro.getProduct().getName() + "</td>" + "<td>"
                    + "<div class='btn-group btn-toggle'>" + "<button class='btn btn-xs " + avlOn
                    + "' onclick='onBtnClick(" + pro.getProduct().getId() + "," + pageIndex
                    + ");' type='button'>ON</button>" + "<button class='btn btn-xs " + avlOff
                    + "' onclick='offBtnClick(" + pro.getProduct().getId() + "," + pageIndex
                    + ");' type='button'>OFF</button>" + "</div>" + "</td>" + "<td>"
                    + pro.getSize().getSizeName() + "</td>" + "<td>" + pro.getQnty() + "</td>" + "<td>Rs."
                    + pro.getPrice() + "</td>" + "<td>" + "<a href='edit_product.jsp?pid="
                    + pro.getProduct().getId() + "&sid=" + pro.getSize().getId() + "'>"
                    + "    <span class='glyphicon glyphicon-edit'></span>" + "</a>" + "</td>" + "</tr>"
                    + "<tr> ";

        }

        Criteria criteriaCount = ses.createCriteria(ProductHasSize.class);
        criteriaCount.setProjection(Projections.rowCount());
        totalNumberOfRecords = (int) (long) (Long) criteriaCount.uniqueResult();

        int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;

        if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
            noOfPages = noOfPages + 1;
        }

        for (int j = 1; j <= noOfPages; j++) {
            if (noOfPages > 1) {
                String myurl = "products.jsp?pgIndex=" + j;
                if (j == pageIndex) {
                    s2 += "<span class='current'>" + j + "</span>";
                } else {
                    s2 += "<a href='" + myurl + "'>" + j + "</a>";
                }

            }
        }
        ses.close();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write("[{\"d1\":\"" + s1 + "\",\"d2\":\"" + s2 + "\"}]");

    }
}

From source file:com.certus.actions.customersLoadAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session ses = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    int pageIndex = 0;
    int totalNumberOfRecords = 0;
    int numberOfRecordsPerPage = 9;

    String sPageIndex = request.getParameter("pgIndex");
    pageIndex = sPageIndex == null ? 1 : Integer.parseInt(sPageIndex);

    int s = (pageIndex * numberOfRecordsPerPage) - numberOfRecordsPerPage;
    List<User> uList = ses.createCriteria(User.class).setFirstResult(s).setMaxResults(numberOfRecordsPerPage)
            .list();//w w w.  j  a  v a 2 s .  co m

    String s1 = "", s2 = "";
    for (User u : uList) {
        String avlOn = u.isAvailability() ? "btn-danger" : "btn-default";
        String avlOff = u.isAvailability() ? "btn-default" : "btn-danger";
        String orders = orderCount(u, ses) != 0 ? "<button title='view order' onclick='loadModal("
                + loadOrders(u, ses)
                + ");' class='btn btn-default' data-dismiss='modal' data-target='#ViewOrdersModal' data-toggle='modal'>"
                + orderCount(u, ses) + "</button>"
                : "<span style='margin-left:10%;'>" + orderCount(u, ses) + "</span>";
        s1 += "<tr>" + "<td>" + u.getFName() + " " + u.getLName() + "</td>" + "<td>"
                + "<div class='btn-group btn-toggle'>" + "<button class='btn btn-xs " + avlOn
                + "' onclick='onBtnClick(" + u.getId() + "," + pageIndex + ");' type='button'>ON</button>"
                + "<button class='btn btn-xs " + avlOff + "' onclick='offBtnClick(" + u.getId() + ","
                + pageIndex + ");' type='button'>OFF</button>" + "</div>" + "</td>" + "<td>" + u.getEmail()
                + "</td>" + "<td>" + orders + "</td>" + "<td>" + "<a href='edit_customer.jsp?uid=" + u.getId()
                + "'>" + "    <span class='glyphicon glyphicon-edit'></span>" + "</a>" + "</td>" + "</tr>"
                + "<tr> ";
    }

    Criteria criteriaCount = ses.createCriteria(User.class);
    criteriaCount.setProjection(Projections.rowCount());
    totalNumberOfRecords = (int) (long) (Long) criteriaCount.uniqueResult();

    int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;

    if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
        noOfPages = noOfPages + 1;
    }

    for (int j = 1; j <= noOfPages; j++) {
        if (noOfPages > 1) {
            String myurl = "customers.jsp?pgIndex=" + j;
            if (j == pageIndex) {
                s2 += "<span class='current'>" + j + "</span>";
            } else {
                s2 += "<a href='" + myurl + "'>" + j + "</a>";
            }

        }
    }
    ses.close();

    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write("[{\"d1\":\"" + s1 + "\",\"d2\":\"" + s2 + "\"}]");

}

From source file:com.certus.actions.loadBrandsAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session session = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    int pageIndex = 0;
    int totalNumberOfRecords = 0;
    int numberOfRecordsPerPage = 9;

    String sPageIndex = request.getParameter("pgIndex");
    pageIndex = sPageIndex == null ? 1 : Integer.parseInt(sPageIndex);

    int s = (pageIndex * numberOfRecordsPerPage) - numberOfRecordsPerPage;
    List<Brand> b = session.createCriteria(Brand.class).setFirstResult(s).setMaxResults(numberOfRecordsPerPage)
            .list();/*  w ww  .  j  a  v a  2 s  . c o m*/
    String s1 = "", s2 = "";
    for (Brand brnd : b) {
        String avlOn = brnd.isAvailability() ? "btn-danger" : "btn-default";
        String avlOff = brnd.isAvailability() ? "btn-default" : "btn-danger";
        s1 += "<tr>" + "<td>" + brnd.getBrandName() + "</td>" + "<td>" + "<div class='btn-group btn-toggle'>"
                + "<button class='btn btn-xs " + avlOn + "' onclick='onBtnClick(" + brnd.getId() + ","
                + pageIndex + ");' type='button'>ON</button>" + "<button class='btn btn-xs " + avlOff
                + "' onclick='offBtnClick(" + brnd.getId() + "," + pageIndex + ");' type='button'>OFF</button>"
                + "</div>" + "</td>" + "<td>"
                + "<button ype='button' class='btn btn-default' data-dismiss='modal' onclick='getBrandId("
                + brnd.getId() + ");' data-target='#ViewAllProModal' data-toggle='modal'>"
                + "<span class='glyphicon glyphicon-gift'></span>&nbsp;&nbsp;"
                + brnd.getProducts().stream().count() + "</button>" + "</td>" + "<td>"
                + "<button type='button' class='btn btn-default' data-dismiss='modal' data-target='#updateBndModal' data-toggle='modal'>"
                + "<span class='glyphicon glyphicon-edit'></span>" + "</button>" + "</td>" + "</tr>";
    }
    Criteria criteriaCount = session.createCriteria(Brand.class);
    criteriaCount.setProjection(Projections.rowCount());
    totalNumberOfRecords = (int) (long) (Long) criteriaCount.uniqueResult();
    int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;

    if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
        noOfPages = noOfPages + 1;
    }

    for (int j = 1; j <= noOfPages; j++) {
        if (noOfPages > 1) {
            String myurl = "manufactures.jsp?pgIndex=" + j;
            if (j == pageIndex) {
                s2 += "<span class='current'>" + j + "</span>";
            } else {
                s2 += "<a href='" + myurl + "'>" + j + "</a>";
            }

        }
    }
    session.close();
    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write("[{\"d1\":\"" + s1 + "\",\"d2\":\"" + s2 + "\"}]");
}

From source file:com.certus.actions.orderFilterAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session session = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    int pageIndex = 0;
    int totalNumberOfRecords = 0;
    int numberOfRecordsPerPage = 9;

    String sPageIndex = request.getParameter("pgIndex");
    pageIndex = sPageIndex == null ? 1 : Integer.parseInt(sPageIndex);
    int s = (pageIndex * numberOfRecordsPerPage) - numberOfRecordsPerPage;
    if (request.getParameter("startDate") != null) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date sDate = null;/*  w ww  . j ava  2s  . co m*/
        Date eDate = null;
        try {

            sDate = sdf.parse(request.getParameter("startDate"));
            eDate = sdf.parse(request.getParameter("endDate"));
        } catch (Exception e) {
        }
        List<Order> oList = session.createCriteria(Order.class, "ord")
                .add(Restrictions.between("ord.dateOrdered", sDate, eDate)).setFirstResult(s)
                .setMaxResults(numberOfRecordsPerPage).list();

        String s1 = "", s2 = "";
        for (Order order : oList) {
            s1 += "<tr>" + "<td>" + order.getInvoNum() + "</td>" + "<td>" + order.getName() + "</td>" + "<td>"
                    + order.getStatus() + "</td>" + "<td> Rs. " + order.getGrandTot() + "</td>"
                    + "<td><button type='button' class='btn btn-default'>"
                    + "<span class='glyphicon glyphicon-eye-open'></span></button>" + "</td>" + "<td>"
                    + "<a href='edit_order.jsp?oid=" + order.getId() + "'>"
                    + "<span class='glyphicon glyphicon-edit'></span>" + "</a>" + "</td>" + "</tr>";
        }
        Criteria criteriaCount = session.createCriteria(Order.class, "ord")
                .add(Restrictions.between("ord.dateOrdered", sDate, eDate));
        criteriaCount.setProjection(Projections.rowCount());
        totalNumberOfRecords = (int) (long) (Long) criteriaCount.uniqueResult();
        int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;
        if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
            noOfPages = noOfPages + 1;
        }

        for (int j = 1; j <= noOfPages; j++) {
            if (noOfPages > 1) {
                String myurl = "orders.jsp?startDate=" + request.getParameter("startDate") + "&endDate="
                        + request.getParameter("endDate") + "&pgIndex=" + j;
                if (j == pageIndex) {
                    s2 += "<span class='current'>" + j + "</span>";
                } else {
                    s2 += "<a href='" + myurl + "'>" + j + "</a>";
                }

            }
        }

        session.close();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write("[{\"d1\":\"" + s1 + "\",\"d2\":\"" + s2 + "\"}]");
    } else {
        List<Order> oList = session.createCriteria(Order.class).setFirstResult(s)
                .setMaxResults(numberOfRecordsPerPage).list();
        String s1 = "", s2 = "";
        for (Order order : oList) {
            s1 += "<tr>" + "<td>" + order.getInvoNum() + "</td>" + "<td>" + order.getName() + "</td>" + "<td>"
                    + order.getStatus() + "</td>" + "<td> Rs. " + order.getGrandTot() + "</td>"
                    + "<td><button type='button' class='btn btn-default'>"
                    + "<span class='glyphicon glyphicon-eye-open'></span></button>" + "</td>" + "<td>"
                    + "<a href='edit_order.jsp?oid=" + order.getId() + "'>"
                    + "<span class='glyphicon glyphicon-edit'></span>" + "</a>" + "</td>" + "</tr>";
        }
        Criteria criteriaCount = session.createCriteria(Order.class);
        criteriaCount.setProjection(Projections.rowCount());
        totalNumberOfRecords = (int) (long) (Long) criteriaCount.uniqueResult();
        int noOfPages = totalNumberOfRecords / numberOfRecordsPerPage;

        if (totalNumberOfRecords > (noOfPages * numberOfRecordsPerPage)) {
            noOfPages = noOfPages + 1;
        }

        for (int j = 1; j <= noOfPages; j++) {
            if (noOfPages > 1) {
                String myurl = "orders.jsp?pgIndex=" + j;
                if (j == pageIndex) {
                    s2 += "<span class='current'>" + j + "</span>";
                } else {
                    s2 += "<a href='" + myurl + "'>" + j + "</a>";
                }

            }
        }
        session.close();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write("[{\"d1\":\"" + s1 + "\",\"d2\":\"" + s2 + "\"}]");
    }
}