使用CriteriaBuilder

时间:2017-07-04 14:34:46

标签: glassfish eclipselink criteria-api

我有一个表格表,我需要从中提取报告数据。我创建了以下类来包含结果。为简洁起见,我删除了构造函数。

public class BillingEventDateCount {
    private String date;
    private Integer count;
}

然后我开始使用条件查询,该查询应填充结果列表。老实说,我不知道怎么做...我想实现以下查询。

SELECT date(`create_timestamp`) as 'date',SUM(price) as 'count' FROM billingEvent groupby date(`create_timestamp`);

我已经开始使用以下条件查询,但不知道如何执行此操作。

    public List<BillingEventDateCount> findBillingEventByBillingServiceDailyTotals(Integer billingServiceId, Date startDateObj, Date endDateObj, String msisdn, String refNum) {
    CriteriaBuilder cb = em.getCriteriaBuilder();
    CriteriaQuery criteriaQuery = cb.createQuery();
    Root billingSummary = criteriaQuery.from(BillingEvent.class);
    criteriaQuery.select(cb.construct(BillingEventDateCount.class,billingSummary.get("date"),billingSummary.get("count"))).groupBy(billingSummary.get("date"));
    return em.createQuery(criteriaQuery).getResultList();
}

有人可以帮忙吗?我真的无法做出这样的正面或反面。

0 个答案:

没有答案