我正在使用以下代码从表中获取数据
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以及计数和总和?