Können Sie mir bitte Code-Schnipsel teilen über JPA geschrieben werden, umJPA Zählung Abfrage mit maximalen Ergebnissen
SELECT COUNT(*) FROM Customer c
WHERE c.countryId ='Canada' AND
c.lanuguage ='ENG' AND
ROW_NUM <=10;
die unterhalb SQL-Abfrage zu erzeugen, weil ich in der untenen Art und Weise versucht. Aber MaxResults nicht angewandt zu werden scheint es, als ich kann in der Lage die Zählung mehr als 10.
Query query = em.createQuery("SELECT COUNT(c) FROM Customer c where c.countryId ='Canada' and c.lanuguage ='ENG'");
query.setMaxResults(10);
long customerCount = (Long)query.getSingleResult();
Ich bin mir nicht sicher, was 'ROW_NUM' hier darstellen soll. Haben Sie eine Spalte namens Zeilennummer? Selbst wenn Ihre Datenbank dies unterstützt, ist sie nicht Teil von JPA und erfordert in jedem Fall eine Reihenfolge, um einen Sinn zu ergeben. –
müssen Sie nur Limit = 10 setzen? – rvit34
Die Einstellung der maximalen Ergebnisse wirkt sich nur auf die Anzahl der Zeilen aus, die Sie als Endergebnis erhalten. Eine Auswahlzählung gibt immer nur eine Zeile zurück (mit der Anzahl, die ausgeführt wurde). Die maximalen Ergebnisse werden also angewendet, haben aber keine Auswirkungen und können nicht für diesen Fall verwendet werden. Aber wäre es nicht die einfachste Lösung, um die Gesamtzählung zu erhalten, wie Sie es derzeit tun, und 10 zurückzugeben, wenn sie höher ist? –