0
我遇到了與this post中描述的相同的問題。OpenJPA Paging(setMaxResults/setFirstResult)
有一種解決方案,它將sort鍵添加到sort子句中,我認爲這很好,但是我認爲OpenJPA本身應該完成正確的分頁。我們使用OpenJPA 2.1.1和Oracle 11g。
我的解決辦法是(在OpenJPA的變化):
更改SQL語句的生成。其實這是以下,這導致了所描述的問題。
SELECT * FROM (SELECT r.*, ROWNUM RNUM FROM ([my statement]) r WHERE ROWNUM <= 50) WHERE RNUM > 25
我寧願:
SELECT outer.* FROM (
SELECT ROWNUM rn, inner.* FROM
([my statement])
inner)
outer WHERE outer.rn > 25 AND outer.rn <= 50
爲什麼使用第一個?更好的性能?否則,第二個將是OpenJPA分頁的正確選擇。
在OpenJPA中有沒有其他的可能性以正確的方式進行尋呼?