HQL Query не выбирает все записи - PullRequest
0 голосов
/ 04 марта 2020

Я использую следующий код для извлечения данных из таблиц

        ArrayList<BillPaidDetails> ar = new ArrayList<BillPaidDetails>();
        tx = session.beginTransaction();
        String hql = "select distinct bpd,count(bpd.id), sum(bpd.amount) "
                +"from BillPaidDetails as bpd "  
                + "left join fetch bpd.billDetails as bd "
                + "where bpd.client.id=:cid "
                + "order by bpd.adddate desc ";

        Query query = session.createQuery(hql);
        query.setParameter("cid", businessId);
        Iterator results = query.list().iterator();

        while (results.hasNext()) {
            Object[] row = (Object[]) results.next();
            BillPaidDetails bp = (BillPaidDetails) row[0];
            Long count = (Long) row[1];
            BigDecimal amount = (BigDecimal) row[2];
            bp.setTotalCount(count);
            bp.setTotalAmount(amount);
            System.out.println(count + " " + amount + " " + bp.getDt());
            ar.add(bd);
        }

Показывает правильные значения для количества и суммы. Я хочу показать все bpd, но это показывает только один. Как получить все bpd из таблицы вместе с количеством и суммой?

...