1

次の問題があります。誰かが私を助けてくれるかもしれません。

私は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  
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;

私はまだコードを完成させていません.例えば、COUNT..COUNT前に書くべきですかGROUP BY、それともそれなしで動作しCOUNTますか?

4

0 に答える 0