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.floreantpos.model.dao.TicketDAO.java

License:Open Source License

public List<Ticket> findPreviousTickets(PaginatedTableModel tableModel, Date start, Date end, boolean filter) {
    Session session = null;//from  w  w w  . j a  va  2s  .c  om
    Criteria criteria = null;
    try {

        int previousIndex = tableModel.getPreviousRowIndex();

        session = createNewSession();
        criteria = session.createCriteria(getReferenceClass());

        if (filter) {
            updateCriteriaFilters(criteria);
        }

        criteria.setFirstResult(previousIndex);
        criteria.setMaxResults(tableModel.getPageSize());

        if (start != null)
            criteria.add(Restrictions.ge(Ticket.PROP_DELIVERY_DATE, start));

        if (end != null)
            criteria.add(Restrictions.le(Ticket.PROP_DELIVERY_DATE, end));

        List ticketList = criteria.list();

        criteria.setProjection(Projections.rowCount());
        Integer rowCount = (Integer) criteria.uniqueResult();
        if (rowCount != null) {
            tableModel.setNumRows(rowCount);

        }

        tableModel.setCurrentRowIndex(previousIndex);

        return ticketList;

    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.model.dao.TicketDAO.java

License:Open Source License

public int getNumTickets(Date start, Date end) {
    Session session = null;//from  www.  jav a 2  s.c  o  m
    Criteria criteria = null;
    try {
        session = createNewSession();
        criteria = session.createCriteria(getReferenceClass());
        criteria.add(Restrictions.eq(Ticket.PROP_CLOSED, Boolean.FALSE));
        if (start != null)
            criteria.add(Restrictions.ge(Ticket.PROP_DELIVERY_DATE, start));

        if (end != null)
            criteria.add(Restrictions.le(Ticket.PROP_DELIVERY_DATE, end));

        criteria.add(Restrictions.isNotNull(Ticket.PROP_DELIVERY_DATE));
        criteria.setProjection(Projections.rowCount());
        Number rowCount = (Number) criteria.uniqueResult();
        if (rowCount != null) {
            return rowCount.intValue();
        }
        return 0;
    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.report.service.ReportService.java

License:Open Source License

public ServerProductivityReport getServerProductivityReport(Date fromDate, Date toDate) {
    GenericDAO dao = new GenericDAO();
    ServerProductivityReport report = new ServerProductivityReport();
    Session session = null;// w  w  w . ja v a  2s  .  co  m

    try {

        session = dao.getSession();

        Criteria criteria = session.createCriteria(User.class);
        //criteria.add(Restrictions.eq(User.PROP_USER_TYPE, User.USER_TYPE_SERVER));
        List<User> servers = criteria.list();

        criteria = session.createCriteria(MenuCategory.class);
        List<MenuCategory> categories = criteria.list();
        MenuCategory miscCategory = new MenuCategory();
        miscCategory.setName(com.floreantpos.POSConstants.MISC_BUTTON_TEXT);
        categories.add(miscCategory);

        for (User server : servers) {
            ServerProductivityReportData data = new ServerProductivityReportData();
            data.setServerName(server.getUserId() + "/" + server.toString()); //$NON-NLS-1$
            criteria = session.createCriteria(Ticket.class);
            criteria.add(Restrictions.eq(Ticket.PROP_OWNER, server));
            criteria.add(Restrictions.eq(Ticket.PROP_PAID, Boolean.TRUE));
            criteria.add(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE)); //$NON-NLS-1$
            criteria.add(Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.FALSE)); //$NON-NLS-1$
            criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate));
            criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate));

            ProjectionList projectionList = Projections.projectionList();
            projectionList.add(Projections.rowCount());
            projectionList.add(Projections.sum(Ticket.PROP_NUMBER_OF_GUESTS));
            projectionList.add(Projections.sum(TicketItem.PROP_TOTAL_AMOUNT));

            criteria.setProjection(projectionList);

            Object[] o = (Object[]) criteria.uniqueResult();
            int totalCheckCount = 0;
            double totalServerSale = 0;
            if (o != null) {
                if (o.length > 0 && o[0] != null) {
                    int i = ((Number) o[0]).intValue();
                    data.setTotalCheckCount(totalCheckCount = i);
                }
                if (o.length > 1 && o[1] != null) {
                    int i = ((Number) o[1]).intValue();
                    data.setTotalGuestCount(i);
                }
                if (o.length > 2 && o[2] != null) {
                    totalServerSale = ((Number) o[2]).doubleValue();
                    data.setTotalSales(totalServerSale);
                }
            }

            data.calculate();
            report.addReportData(data);

            for (MenuCategory category : categories) {
                data = new ServerProductivityReportData();
                data.setServerName(server.getUserId() + "/" + server.toString()); //$NON-NLS-1$

                criteria = session.createCriteria(TicketItem.class, "item"); //$NON-NLS-1$
                criteria.createCriteria(TicketItem.PROP_TICKET, "t"); //$NON-NLS-1$

                projectionList = Projections.projectionList();
                criteria.setProjection(projectionList);
                projectionList.add(Projections.sum(TicketItem.PROP_ITEM_COUNT));
                projectionList.add(Projections.sum(TicketItem.PROP_SUBTOTAL_AMOUNT));
                projectionList.add(Projections.sum("t." + Ticket.PROP_DISCOUNT_AMOUNT)); //$NON-NLS-1$
                projectionList.add(Projections.rowCount());

                criteria.add(Restrictions.eq("item." + TicketItem.PROP_CATEGORY_NAME, category.getName())); //$NON-NLS-1$
                criteria.add(Restrictions.ge("t." + Ticket.PROP_CREATE_DATE, fromDate)); //$NON-NLS-1$
                criteria.add(Restrictions.le("t." + Ticket.PROP_CREATE_DATE, toDate)); //$NON-NLS-1$
                criteria.add(Restrictions.eq("t." + Ticket.PROP_OWNER, server)); //$NON-NLS-1$
                criteria.add(Restrictions.eq("t." + Ticket.PROP_PAID, Boolean.TRUE)); //$NON-NLS-1$
                criteria.add(Restrictions.eq("t." + Ticket.PROP_VOIDED, Boolean.FALSE)); //$NON-NLS-1$
                criteria.add(Restrictions.eq("t." + Ticket.PROP_REFUNDED, Boolean.FALSE)); //$NON-NLS-1$

                List datas = criteria.list();
                if (datas.size() > 0) {
                    Object[] objects = (Object[]) datas.get(0);

                    data.setCategoryName(category.getName());
                    data.setTotalCheckCount(totalCheckCount);
                    if (objects.length > 0 && objects[0] != null) {
                        int i = ((Number) objects[0]).intValue();
                        data.setCheckCount(i);
                    }

                    if (objects.length > 1 && objects[1] != null) {
                        double d = ((Number) objects[1]).doubleValue();
                        data.setGrossSales(d);
                    }

                    if (objects.length > 2 && objects[2] != null) {
                        double d = ((Number) objects[2]).doubleValue();
                        if (d > 0)
                            data.setSalesDiscount(d);
                    }
                    data.setAllocation((data.getGrossSales() / totalServerSale) * 100.0);
                    data.calculate();
                    report.addReportData(data);
                }
            }
        }
        return report;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:com.floreantpos.report.service.ReportService.java

License:Open Source License

public SalesDetailedReport getSalesDetailedReport(Date fromDate, Date toDate) {
    GenericDAO dao = new GenericDAO();
    SalesDetailedReport report = new SalesDetailedReport();
    Session session = null;/*from  ww w.j  a  va 2s . c  om*/

    report.setFromDate(fromDate);
    report.setToDate(toDate);
    report.setReportTime(new Date());
    try {

        session = dao.getSession();

        Criteria criteria = session.createCriteria(DrawerPullReport.class);
        criteria.add(Restrictions.ge(DrawerPullReport.PROP_REPORT_TIME, fromDate));
        criteria.add(Restrictions.le(DrawerPullReport.PROP_REPORT_TIME, toDate));
        List list = criteria.list();
        for (Iterator iter = list.iterator(); iter.hasNext();) {
            DrawerPullReport drawerPullReport = (DrawerPullReport) iter.next();
            DrawerPullData data = new DrawerPullData();
            data.setDrawerPullId(drawerPullReport.getId());
            data.setTicketCount(drawerPullReport.getTicketCount());
            data.setIdealAmount(drawerPullReport.getDrawerAccountable());
            data.setActualAmount(drawerPullReport.getCashToDeposit());
            data.setVarinceAmount(
                    drawerPullReport.getDrawerAccountable() - drawerPullReport.getCashToDeposit());
            report.addDrawerPullData(data);
        }

        criteria = session.createCriteria(CreditCardTransaction.class);
        criteria.add(Restrictions.ge(CreditCardTransaction.PROP_TRANSACTION_TIME, fromDate));
        criteria.add(Restrictions.le(CreditCardTransaction.PROP_TRANSACTION_TIME, toDate));
        list = criteria.list();

        for (Iterator iter = list.iterator(); iter.hasNext();) {
            CreditCardTransaction t = (CreditCardTransaction) iter.next();
            report.addCreditCardData(t);
        }

        criteria = session.createCriteria(DebitCardTransaction.class);
        criteria.add(Restrictions.ge(DebitCardTransaction.PROP_TRANSACTION_TIME, fromDate));
        criteria.add(Restrictions.le(DebitCardTransaction.PROP_TRANSACTION_TIME, toDate));
        list = criteria.list();

        for (Iterator iter = list.iterator(); iter.hasNext();) {
            DebitCardTransaction t = (DebitCardTransaction) iter.next();
            report.addCreditCardData(t);
        }

        criteria = session.createCriteria(GiftCertificateTransaction.class);
        criteria.add(Restrictions.ge(GiftCertificateTransaction.PROP_TRANSACTION_TIME, fromDate));
        criteria.add(Restrictions.le(GiftCertificateTransaction.PROP_TRANSACTION_TIME, toDate));
        ProjectionList projectionList = Projections.projectionList();
        projectionList.add(Projections.rowCount());
        projectionList.add(Projections.sum(GiftCertificateTransaction.PROP_AMOUNT));
        criteria.setProjection(projectionList);
        Object[] object = (Object[]) criteria.uniqueResult();
        if (object != null && object.length > 0 && object[0] instanceof Number) {
            report.setGiftCertReturnCount(((Number) object[0]).intValue());
        }
        if (object != null && object.length > 1 && object[1] instanceof Number) {
            report.setGiftCertReturnAmount(((Number) object[1]).doubleValue());
        }

        criteria = session.createCriteria(GiftCertificateTransaction.class);
        criteria.add(Restrictions.ge(GiftCertificateTransaction.PROP_TRANSACTION_TIME, fromDate));
        criteria.add(Restrictions.le(GiftCertificateTransaction.PROP_TRANSACTION_TIME, toDate));
        criteria.add(
                Restrictions.gt(GiftCertificateTransaction.PROP_GIFT_CERT_CASH_BACK_AMOUNT, Double.valueOf(0)));
        projectionList = Projections.projectionList();
        projectionList.add(Projections.rowCount());
        projectionList.add(Projections.sum(GiftCertificateTransaction.PROP_GIFT_CERT_CASH_BACK_AMOUNT));
        criteria.setProjection(projectionList);
        object = (Object[]) criteria.uniqueResult();
        if (object != null && object.length > 0 && object[0] instanceof Number) {
            report.setGiftCertChangeCount(((Number) object[0]).intValue());
        }
        if (object != null && object.length > 1 && object[1] instanceof Number) {
            report.setGiftCertChangeAmount(((Number) object[1]).doubleValue());
        }

        criteria = session.createCriteria(Ticket.class);
        criteria.createAlias(Ticket.PROP_GRATUITY, "g"); //$NON-NLS-1$
        criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate));
        criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate));
        criteria.add(Restrictions.gt("g." + Gratuity.PROP_AMOUNT, Double.valueOf(0))); //$NON-NLS-1$
        projectionList = Projections.projectionList();
        projectionList.add(Projections.rowCount());
        projectionList.add(Projections.sum("g." + Gratuity.PROP_AMOUNT)); //$NON-NLS-1$
        criteria.setProjection(projectionList);
        object = (Object[]) criteria.uniqueResult();
        if (object != null && object.length > 0 && object[0] instanceof Number) {
            report.setTipsCount(((Number) object[0]).intValue());
        }
        if (object != null && object.length > 1 && object[1] instanceof Number) {
            report.setChargedTips(((Number) object[1]).doubleValue());
        }

        criteria = session.createCriteria(Ticket.class);
        criteria.createAlias(Ticket.PROP_GRATUITY, "g"); //$NON-NLS-1$
        criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate));
        criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate));
        criteria.add(Restrictions.gt("g." + Gratuity.PROP_AMOUNT, Double.valueOf(0))); //$NON-NLS-1$
        criteria.add(Restrictions.gt("g." + Gratuity.PROP_PAID, Boolean.TRUE)); //$NON-NLS-1$
        projectionList = Projections.projectionList();
        projectionList.add(Projections.sum("g." + Gratuity.PROP_AMOUNT)); //$NON-NLS-1$
        criteria.setProjection(projectionList);
        object = (Object[]) criteria.uniqueResult();
        if (object != null && object.length > 0 && object[0] instanceof Number) {
            report.setTipsPaid(((Number) object[0]).doubleValue());
        }

        return report;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:com.fourgenius.www.public_access.registration.student.Jp_registration_student_informations.java

private String generate_student_id() {

    String branch;//from   ww  w .j a v  a2 s.c o m
    String level;
    String course;
    String batch;
    String group;
    String year;
    String weekOrEnd;
    long regNo;
    String preid;

    if (_rb_registration_student_information_form_colombo.isSelected()) {
        branch = "C";
    } else if (_rb_registration_student_information_form_negombo.isSelected()) {
        branch = "N";
    } else {
        branch = "K";
    }

    if (_cb_registration_student_personalInformations_studentDetails_course_level.getSelectedItem().toString()
            .equals("Diploma Level")) {
        level = "";
    } else {
        String[] lid = _cb_registration_student_personalInformations_studentDetails_course_level
                .getSelectedItem().toString().split("-");
        level = lid[1].toString();
    }

    String[] cid = _cb_registration_student_personalInformations_studentDetails_course.getSelectedItem()
            .toString().split("-");
    course = cid[1].toString();

    batch = _cb_registration_student_batch.getSelectedItem().toString();

    group = _cb_registration_student_group.getSelectedItem().toString();

    String as = _yc_student_registration_year.getYear() + "";
    String ye[] = as.split("");
    year = ye[2] + ye[3];

    weekOrEnd = _cb_registration_student_weekOrEnd.getSelectedItem().toString();

    Criteria c = s.createCriteria(StuInfoPersonal.class);
    if (level.equals("G") || level.equals("I")) {

        preid = branch + level + course + "-" + new SimpleDateFormat("ddMMyyyy").format(new Date());
        c.add(Restrictions.like("stuUserInfoId", preid + "%"));

    } else {

        if (level.equals("")) {

            preid = branch + course + "-" + batch + group + "-" + year + "-" + weekOrEnd;
            c.add(Restrictions.like("stuUserInfoId", preid + "%"));

        } else {

            preid = branch + level + course + "-" + batch + group + "-" + year + "-" + weekOrEnd;
            c.add(Restrictions.like("stuUserInfoId", preid + "%"));

        }

    }

    regNo = (long) c.setProjection(Projections.rowCount()).uniqueResult() + 1;

    String ID = preid + "-" + regNo;

    _lb_registration_student_preview_studentID.setText(ID);

    //        String id = "ID";
    //        String st = "ST";
    //        stu_user_info user_info = new stu_user_info();
    //        String countid = user_info.getStu_user_info_id();
    //        int idcount = Integer.parseInt(countid);
    //        int id_no = ++idcount;
    //
    //        String a = Integer.toString(id_no);
    //        int length = a.length();
    //        System.out.println(length);
    //
    //        String idn = Integer.toString(id_no);
    //        String zeros;
    //        if (length == 1) {
    //            zeros = "00000";
    //        } else if (length == 2) {
    //            zeros = "0000";
    //        } else if (length == 3) {
    //            zeros = "000";
    //        } else if (length == 4) {
    //            zeros = "00";
    //        } else if (length == 5) {
    //            zeros = "0";
    //        } else {
    //            zeros = "";
    //        }
    //
    //        if (_rb_registration_student_information_form_colombo.isSelected()) {
    //            branch_name = "COL";
    //        } else {
    //            branch_name = "KAN";
    //        }
    //        String lecture_id = id + "-" + st + "-" + branch_name + "-" + zeros + idn;
    //        _lb_registration_student_preview_studentID.setText(lecture_id);
    return ID;

}

From source file:com.github.javarch.persistence.orm.hibernate.DefaultHibernateRepository.java

License:Apache License

public <T extends Persistable<?>> Long count(Class<T> clazz) {
    Long count = (Long) createCriteria(clazz).setProjection(Projections.rowCount()).uniqueResult();
    return (count == null) ? 0L : count;
}

From source file:com.gps.rptbean.DataSourceFactory.java

public static JRDataSource buildYearlyDataSource(Vehicle v, String year, String measureName) {

    assert (v != null);
    assert (year != null);

    Date startDate = null;// w  w  w  . ja  v a2  s  .c  o  m
    try {
        startDate = (new SimpleDateFormat("yyyy")).parse(year);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    Calendar cal = Calendar.getInstance();
    cal.setTime(startDate);
    cal.add(Calendar.YEAR, 1);
    Date endDate = cal.getTime();

    Session session = HibernateUtil.getSession();

    List results = session.createCriteria(FRuningLog.class)
            .setProjection(Projections.projectionList().add(Projections.rowCount(), "rowCount")
                    .add(Projections.sum(measureName), "total")
                    .add(Projections.groupProperty("yearMonth"), "yearMonth"))
            .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId()))
            .add(Restrictions.le("startDate", endDate)).add(Restrictions.ge("startDate", startDate))
            .addOrder(Order.asc("yearMonth")).list();

    //   
    //      FRuningLogBean fruningLogBean = new FRuningLogBean();
    //      
    //      fruningLogBean.setVehicleId(v.getVehicleId());
    //      fruningLogBean.setStartDateStart(startDate);
    //      fruningLogBean.setStartDateEnd(endDate);
    //      
    //      fruningLogBean.getList();
    YearlyDataSource ds = null;
    ds = new YearlyDataSource();

    Iterator iter = results.iterator();

    while (iter.hasNext()) {
        Object[] row = (Object[]) iter.next();
        Integer count = (Integer) row[0];
        Double total = (Double) row[1];
        String yearMonth = (String) row[2];

        int idx = getIndex(yearMonth);
        YearlyBean bean = new YearlyBean(idx);
        bean.setVehicleId(v.getVehicleId());
        bean.setLicensePad(v.getLicensPadNumber());
        bean.setMeasure1(total);
        ds.addRecord(idx, bean);
    }

    return ds;

}

From source file:com.gps.rptbean.DataSourceFactory.java

public static JRDataSource buildMonthlyCostDataSource(Vehicle v, Date start, Date end) {

    CostAnalysisDataSource result = new CostAnalysisDataSource();

    assert (v != null);
    assert (start != null);
    assert (end != null);
    int index = 1;

    Session session = HibernateUtil.getSession();

    List results = session.createCriteria(FRuningLog.class)
            .setProjection(Projections.projectionList().add(Projections.rowCount(), "runCount")
                    .add(Projections.sum("totalCost"), "total").add(Projections.sum("actualGas"), "totalGas")
                    .add(Projections.sum("gasByCashCost"), "totalGasCash")
                    .add(Projections.sum("gasByCardCost"), "totalGasCard")
                    .add(Projections.sum("actualDistance"), "totalDistance")
                    .add(Projections.sum("actualRoadFee"), "totalRoadFee")
                    .add(Projections.sum("overLimitFee"), "totalOverLimitFee")
                    .add(Projections.groupProperty("vehicle.vehicleId"), "vehicleId"))
            .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId())).add(Restrictions.le("startDate", end))
            .add(Restrictions.ge("startDate", start)).list();

    Double gas = (Double) ((Object[]) results.get(0))[2];
    Double gasByCash = (Double) ((Object[]) results.get(0))[3];
    Double gasByCard = (Double) ((Object[]) results.get(0))[4];

    Double gasFee = gasByCash + gasByCard;
    Double roadFee = (Double) ((Object[]) results.get(0))[6];
    Double limitFee = (Double) ((Object[]) results.get(0))[7];

    CostAnalysisBean bean1 = new CostAnalysisBean();
    bean1.setCategoryName("");
    bean1.setIndex(index);/* w w  w.  ja  va  2 s.  c  o m*/
    bean1.setLicensePad(v.getLicensPadNumber());
    bean1.setMeasure1(gasFee);
    bean1.setVehicleId(v.getVehicleId());
    result.addRecord(index - 1, bean1);
    index++;

    CostAnalysisBean bean2 = new CostAnalysisBean();
    bean2.setCategoryName("");
    bean2.setIndex(index);
    bean2.setLicensePad(v.getLicensPadNumber());
    bean2.setMeasure1(roadFee);
    bean2.setVehicleId(v.getVehicleId());
    result.addRecord(index - 1, bean2);
    index++;

    CostAnalysisBean bean3 = new CostAnalysisBean();
    bean3.setCategoryName("?");
    bean3.setIndex(index);
    bean3.setLicensePad(v.getLicensPadNumber());
    bean3.setMeasure1(limitFee);
    bean3.setVehicleId(v.getVehicleId());
    result.addRecord(index - 1, bean3);
    index++;

    results = null;
    results = session.createCriteria(FMaintain.class)
            .setProjection(Projections.projectionList().add(Projections.rowCount(), "runCount")
                    .add(Projections.sum("cost"), "total")
                    .add(Projections.groupProperty("vehicle.vehicleId"), "vehicleId"))
            .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId()))
            .add(Restrictions.le("maintainDate", end)).add(Restrictions.ge("maintainDate", start)).list();

    if (results.size() > 0) {
        Double maitainFee = (Double) ((Object[]) results.get(0))[1];

        CostAnalysisBean bean4 = new CostAnalysisBean();
        bean4.setCategoryName("?");
        bean4.setIndex(index);
        bean4.setLicensePad(v.getLicensPadNumber());
        bean4.setMeasure1(maitainFee);
        bean4.setVehicleId(v.getVehicleId());
        result.addRecord(index - 1, bean4);
        index++;
    }

    String yearMonth = new SimpleDateFormat("yyyyMM").format(start);
    results = null;
    results = session.createCriteria(FExpenseLog.class)
            .setProjection(Projections.projectionList().add(Projections.rowCount(), "runCount")
                    .add(Projections.sum("amount"), "total")
                    .add(Projections.groupProperty("category1"), "category1"))
            .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId()))
            .add(Restrictions.eq("yearMonth", yearMonth)).list();

    Iterator iter = results.iterator();

    while (iter.hasNext()) {
        Object[] row = (Object[]) iter.next();
        Integer count = (Integer) row[0];
        Double total = (Double) row[1];
        String category = (String) row[2];

        CostAnalysisBean bean = new CostAnalysisBean();
        bean.setIndex(index);
        bean.setCategoryName(category);
        bean.setVehicleId(v.getVehicleId());
        bean.setLicensePad(v.getLicensPadNumber());
        bean.setMeasure1(total);
        result.addRecord(index - 1, bean);
        index++;
    }

    return result;
}

From source file:com.hazelcast.hibernate.app.Executor.java

License:Open Source License

public void execute() throws Exception {
    CountDownLatch latch = new CountDownLatch(1000);
    int count;/*w  ww . ja va 2s. c om*/

    Session session = sessionFactory.openSession();
    try {
        Criteria criteria = session.createCriteria(DummyEntity.class);
        criteria.setProjection(Projections.rowCount());
        count = ((Long) criteria.uniqueResult()).intValue();
    } finally {
        session.close();
    }

    if (count == 0) {
        count = 200000;
        insertDummyEntities(count, 100);
    }

    try {
        for (int i = 0; i < latch.getCount(); i++) {
            executorService.submit(new Task(i, sessionFactory, 1000, latch));
        }

        latch.await(1, TimeUnit.DAYS);
    } finally {
        executorService.shutdown();
    }
}

From source file:com.heimaide.server.common.persistence.BaseDao.java

License:Open Source License

/**
 * /*from  w w w .  ja v  a2s.  c  o m*/
 *
 * @param detachedCriteria
 * @return
 */
@SuppressWarnings("rawtypes")
public long count(DetachedCriteria detachedCriteria) {
    Criteria criteria = detachedCriteria.getExecutableCriteria(getSession());
    long totalCount = 0;
    try {
        // Get orders
        Field field = CriteriaImpl.class.getDeclaredField("orderEntries");
        field.setAccessible(true);
        List orderEntrys = (List) field.get(criteria);
        // Remove orders
        field.set(criteria, new ArrayList());
        // Get count
        criteria.setProjection(Projections.rowCount());
        totalCount = Long.valueOf(criteria.uniqueResult().toString());
        // Clean count
        criteria.setProjection(null);
        // Restore orders
        field.set(criteria, orderEntrys);
    } catch (NoSuchFieldException e) {
        logger.error("BaseDao:count error:" + Exceptions.getStackMsg(e));
    } catch (IllegalAccessException e) {
        logger.error("BaseDao:count error:" + Exceptions.getStackMsg(e));
    }
    return totalCount;
}