7
我們使用Spring Data和PageRequest並且打了一大堆數據。除了正在執行的查詢以獲取頁面總數外,所有查詢都以最佳方式執行。有沒有辦法禁用這個功能,或者我們很可能必須實現我們自己的Pageable?如何禁用PageRequest的計數查詢以獲取總頁數?
編輯:進一步分析後我認爲解決這個問題的唯一方法是不使用Spring數據,並使用EntityManager的,因爲它允許開始行的記錄數的設置返回。我們只需要下一頁是否可用,所以我們只需檢索一個額外的記錄。我們還需要一個在Spring Data中看起來不可能的動態查詢。
編輯2:而且這似乎我只是沒有等待足夠長的一些迴應。多謝你們!!!
你好奧利弗,是否有可能使用findAll()方法做同樣的事情?像列表 findAll(可分頁)? (這樣就可以生成如下所示的內容:SELECT * FROM TABLE ORDER BY xxx LIMIT yyy)?我沒有想到如何做到這一點(並在此線索中與拉爾夫展開了一場「火焰戰爭」):-) –
如果我想將它們全部放在一個頁面中,該怎麼辦?也就是說,忽略分頁。我可以做一些新的PageRequest(0,0)嗎? – Stephane
@StephaneEybert - 如果你想要所有的東西,只要從你的方法定義中去掉Pageable參數。當然,你需要小心這個和巨大的數據集。 – JBCP