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.certus.actions.salesFilterAction.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;//from  w ww  .  j av  a  2 s  . c  om
        Date eDate = null;
        try {

            sDate = sdf.parse(request.getParameter("startDate"));
            eDate = sdf.parse(request.getParameter("endDate"));
        } catch (Exception e) {
        }
        List<Sales> sList = session.createCriteria(Sales.class, "sale")
                .add(Restrictions.between("sale.dateDone", sDate, eDate)).setFirstResult(s)
                .setMaxResults(numberOfRecordsPerPage).list();
        String s1 = "", s2 = "";
        for (Sales sale : sList) {
            s1 += "<tr>" + "<td>" + sale.getId() + "</td>" + "<td>" + sale.getOrder().getUser().getFName() + " "
                    + sale.getOrder().getUser().getLName() + "</td>" + "<td>" + sale.getStatus() + "</td>"
                    + "<td> Rs. " + sale.getGrandTotal() + "</td>" + "<td>" + sale.getDateDone() + "</td>"
                    + "<td>"
                    + "<button type='button' class='btn btn-default'><span class='glyphicon glyphicon-eye-open'></sapn></button>"
                    + "</td>" + "</tr>";
        }
        Criteria criteriaCount = session.createCriteria(Sales.class, "sale")
                .add(Restrictions.between("sale.dateDone", 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 = "sales.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<Sales> sList = session.createCriteria(Sales.class).setFirstResult(s)
                .setMaxResults(numberOfRecordsPerPage).list();
        String s1 = "", s2 = "";
        for (Sales sale : sList) {
            s1 += "<tr>" + "<td>" + sale.getId() + "</td>" + "<td>" + sale.getOrder().getUser().getFName() + " "
                    + sale.getOrder().getUser().getLName() + "</td>" + "<td>" + sale.getStatus() + "</td>"
                    + "<td> Rs. " + sale.getGrandTotal() + "</td>" + "<td>" + sale.getDateDone() + "</td>"
                    + "<td>"
                    + "<button type='button' class='btn btn-default'><span class='glyphicon glyphicon-eye-open'></sapn></button>"
                    + "</td>" + "</tr>";
        }
        Criteria criteriaCount = session.createCriteria(Sales.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 = "sales.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.controllers.ItemPage.java

public long totalResults(int subCat_id, int cat_id) {
    return (Long) ses.createCriteria(Product.class, "pro").createAlias("pro.subCategory", "subCat")
            .createAlias("subCat.category", "cat").add(Restrictions.eq("cat.id", cat_id))
            .add(Restrictions.eq("pro.availability", Boolean.TRUE)).add(Restrictions.eq("subCat.id", subCat_id))
            .setProjection(Projections.rowCount()).uniqueResult();
}

From source file:com.cimmyt.model.dao.impl.AbstractDAO.java

License:Apache License

public Integer getListByFilterTotal(final T filter, final Integer id) {
    Integer numResults = null;//from w ww.jav  a 2  s  .c  o  m
    numResults = this.getHibernateTemplate().execute(new HibernateCallback<Integer>() {
        @Override
        public Integer doInHibernate(Session session) throws HibernateException, SQLException {
            DetachedCriteria criteria = DetachedCriteria.forClass(type);
            buildCriteria(criteria, filter, id);
            criteria.setProjection(Projections.rowCount());
            return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
        }

    });
    return numResults;
}

From source file:com.cimmyt.model.dao.impl.AbstractDAO.java

License:Apache License

public Integer getTotalRowsByFilter(final T filter, final Integer id) {
    Integer resultList = this.getHibernateTemplate().execute(new HibernateCallback<Integer>() {
        @Override/*from   ww  w.  j a  v a 2  s. c  o  m*/
        public Integer doInHibernate(Session session) throws HibernateException, SQLException {
            DetachedCriteria criteria = DetachedCriteria.forClass(type);
            buildCriteria(criteria, filter, id);
            criteria.setProjection(Projections.rowCount());
            Object obj = getHibernateTemplate().findByCriteria(criteria).get(0);
            if (obj instanceof Long)
                return ((Long) getHibernateTemplate().findByCriteria(criteria).get(0)).intValue();
            else if (obj instanceof Integer)
                return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
            else
                return 0;
        }
    });
    return resultList;
}

From source file:com.cimmyt.model.dao.impl.AbstractDAO.java

License:Apache License

public Integer getListByFilterTotalLong(final T filter, final Integer id) {
    Integer numResults = null;//from w w w .  j  ava2  s  . com
    numResults = this.getHibernateTemplate().execute(new HibernateCallback<Integer>() {
        @Override
        public Integer doInHibernate(Session session) throws HibernateException, SQLException {
            DetachedCriteria criteria = DetachedCriteria.forClass(type);
            buildCriteria(criteria, filter);
            criteria.setProjection(Projections.rowCount());
            Object obj = getHibernateTemplate().findByCriteria(criteria).get(0);
            if (obj instanceof Long)
                return ((Long) getHibernateTemplate().findByCriteria(criteria).get(0)).intValue();
            else if (obj instanceof Integer)
                return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
            else
                return 0;
        }

    });
    return numResults;
}

From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java

License:Apache License

@Override
public Integer getTotalRowsCustomQuery(final List<DsSearchParam> params) {
    final List<DsSearchParam> paramsTmp = new ArrayList<DsSearchParam>(params); //avoid changing original List

    final List<Integer> studyIdList = getListWithSampleFilters(paramsTmp);

    Integer resultList = 0;//from w ww  .  j  a  v  a  2 s.co m
    resultList = this.getHibernateTemplate().execute(new HibernateCallback<Integer>() {
        @Override
        public Integer doInHibernate(Session session) throws HibernateException, SQLException {
            DetachedCriteria criteria = DetachedCriteria.forClass(LabStudy.class, VALUE_STUDY);
            addCriteria(criteria, paramsTmp, false);
            addCurrentSampleFilters(criteria, studyIdList);
            criteria.setProjection(Projections.rowCount());
            return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
        }
    });
    return resultList;
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

public Integer getSamplesByStudyUsedInStorageLocationTotal(Integer labStudyId, List<Integer> excludedSamples) {
    Integer numberSamples = null;
    DetachedCriteria criteria = DetachedCriteria.forClass(SampleDetail.class);
    criteria.add(Restrictions.eq("labstudyid.labstudyid", labStudyId));
    criteria.add(Restrictions.eq("selforsend", ShipmentStatus.NO_SELECTED.getId()));
    if (excludedSamples.size() > 0) {
        criteria.add(Restrictions.not(Restrictions.in("studysampleid", excludedSamples)));
    }//from w  w  w . j a v a2 s .  c o m
    criteria.setProjection(Projections.rowCount());
    numberSamples = (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
    return numberSamples;
}

From source file:com.cimmyt.model.dao.impl.SampleDetailDAOImpl.java

License:Apache License

@Override
public Integer getTotalRowsCustomQuery(final List<DsSearchParam> params) {
    final List<DsSearchParam> paramsTmp = new ArrayList<DsSearchParam>(params); //avoid changing original List

    Integer resultList = 0;/* www  . j  a v  a2s  . co  m*/
    resultList = (Integer) this.getHibernateTemplate().execute(new HibernateCallback<Integer>() {
        @Override
        public Integer doInHibernate(Session session) throws HibernateException, SQLException {
            DetachedCriteria criteria = DetachedCriteria.forClass(SampleDetail.class, VALUE_SAMPLE);
            addCriteria(criteria, paramsTmp);
            criteria.setProjection(Projections.rowCount());
            return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
        }
    });
    return resultList;
}

From source file:com.copyright.common.hibernate.HibernateDao.java

License:Apache License

/**
 * ???.//from   w  w  w  . j  ava2s  . c o m
 * 
 * @param uniquePropertyNames
 *            POJO???,? "name,loginid,password"
 */
public <T> boolean isUnique(Class<T> entityClass, Object entity, String uniquePropertyNames) {
    Assert.hasText(uniquePropertyNames);
    Criteria criteria = createCriteria(entityClass).setProjection(Projections.rowCount());
    String[] nameList = uniquePropertyNames.split(",");
    try {
        // 
        for (String name : nameList) {
            criteria.add(Restrictions.eq(name, PropertyUtils.getProperty(entity, name)));
        }

        // ?update,entity.

        String idName = getIdName(entityClass);

        // ?entity
        Serializable id = getId(entityClass, entity);

        // id!=null,,?update,
        if (id != null)
            criteria.add(Restrictions.not(Restrictions.eq(idName, id)));
    } catch (Exception e) {
        e.printStackTrace();
    }
    return (Integer) criteria.uniqueResult() == 0;
}

From source file:com.coroptis.coidi.op.view.dao.impl.IdentityDaoImpl.java

License:Apache License

@Override
public Integer getCount() {
    return ((Long) session.createCriteria(IdentityImpl.class).setProjection(Projections.rowCount())
            .uniqueResult()).intValue();
}