Java JPA标准分组
我有以下问题,也许有人能帮我 我编写了一个SQL查询:Java JPA标准分组,java,Java,我有以下问题,也许有人能帮我 我编写了一个SQL查询: SELECT v.bezeichnung, count(*) as total FROM veranstaltung v JOIN auffuehrung a ON v.id = a.veranstaltung_id JOIN platz p ON p.auffuehrung_id = a.id JOIN transaktion t ON t.id = p.transaktion_id WHE
SELECT v.bezeichnung, count(*) as total
FROM veranstaltung v
JOIN auffuehrung a ON v.id = a.veranstaltung_id
JOIN platz p ON p.auffuehrung_id = a.id
JOIN transaktion t ON t.id = p.transaktion_id
WHERE t.status = 2 AND (a.datumuhrzeit + 30 DAY) >= CURRENT_DATE
GROUP BY v.bezeichnung
ORDER BY total DESC
我必须在JPA中实现它,但除了GROUP BY之外,其他一切都可以运行。。。无法对其进行分组
CriteriaBuilder builder = this.entityManager.getCriteriaBuilder();
CriteriaQuery<Veranstaltung> query = builder.createQuery(Veranstaltung.class);
Root<Veranstaltung> rootVeranstaltung = query.from(Veranstaltung.class); query.where(builder.equal(rootVeranstaltung.join("auffuehrungen").join("plaetze").join("transaktion").<Transaktionsstatus>get("status"), Transaktionsstatus.BUCHUNG));
query.groupBy(rootVeranstaltung);
List<Veranstaltung> result = this.entityManager.createQuery(query).getResultList();
return list;
CriteriaBuilder=this.entityManager.getCriteriaBuilder();
CriteriaQuery=builder.createQuery(Veranstaltung.class);
Root rootVeranstaltung=query.from(Veranstaltung.class);查询.where(builder.equal(rootVeranstaltung.join(“auffuehrungen”).join(“plaetze”).join(“transaktion”).get(“status”)、transaktionstatus.BUCHUNG);
groupBy(rootVeranstaltung);
列表结果=this.entityManager.createQuery(query.getResultList();
退货清单;
我还没有完成编码,例如计数。。
我应该在groupby
之前写COUNT
,还是在没有COUNT
的情况下工作