JPA數查詢能否請你分享我的代碼片段通過JPA以產生以下SQL查詢最大結果
SELECT COUNT(*) FROM Customer c
WHERE c.countryId ='Canada' AND
c.lanuguage ='ENG' AND
ROW_NUM <=10;
因爲我在下面的方式試圖來編寫。但MaxResults沒有得到應用,因爲我能夠接受超過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();
我不確定'ROW_NUM'在這裏應該代表什麼。你有一個叫做行號的列嗎?即使你的數據庫支持這一點,它也不是JPA的一部分,無論如何都需要一個命令來做出任何意義。 –
可能你只需要設置限制= 10? – rvit34
最大結果的設置僅影響作爲最終結果獲得的行數。選擇計數將通常只返回1行(包含已完成的計數)。所以最大的結果是適用的,但沒有影響,而不是你可以用於這種情況。但是,要獲得像你現在這樣的總數,最簡單的解決方案不是最簡單的解決方案,如果它更高,則返回10? –