Glassfish 使用CriteriaBuilder查找报告数据

Glassfish 使用CriteriaBuilder查找报告数据,glassfish,eclipselink,criteria-api,Glassfish,Eclipselink,Criteria Api,我有一个表,需要从中提取报告数据。我创建了以下类来包含结果。为了简洁起见,我删除了构造函数 public class BillingEventDateCount { private String date; private Integer count; } 然后,我从一个条件查询开始,它应该填充一个结果列表。老实说,我不知道怎么做。。。我想实现以下查询 SELECT date(`create_timestamp`) as 'date',SUM(price) as 'count'

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

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();
}
公共列表FindBillingEventByBinlingServiceDailyTotals(整数billingServiceId、日期startDateObj、日期endDateObj、字符串msisdn、字符串refNum){
CriteriaBuilder cb=em.getCriteriaBuilder();
CriteriaQuery CriteriaQuery=cb.createQuery();
根billingSummary=criteriaQuery.from(BillingEvent.class);
criteriaQuery.select(cb.construct(BillingEventDateCount.class,billingSummary.get(“date”),billingSummary.get(“count”)).groupBy(billingSummary.get(“date”);
返回em.createQuery(criteriaQuery).getResultList();
}

有人能帮忙吗?我真的搞不懂这件事

一,。您(我认为)有错误的设计决策,并附加下一个&下一个&下一个决策。2.我不敢相信这段代码可以编译并满足Java、JPA和其他方面的要求。我同意这是不对的,我并没有声称这是对的。我展示了我试图在SQL中实现的目标,以及我在JPA中正确实现它的拙劣尝试。我希望得到一些有用的建议,而不是“你做错了”。