Efter några timmar efter hittade jag problemet. Standard hämtningsstorlek för OJDBC är 10, så med ökande antal rader för hämtning ökar tiden mycket snabbt.
Vad är konstigt:detta var min första idé, så jag försökte ställa in <property name="eclipselink.jdbc.fetch-size" value="100"/>
i persistence.xml
. Det fungerade inte, så jag hoppade till andra lösningar. Idag har jag ställt in den på en enda fråga av query.setHint("eclipselink.jdbc.fetch-size", 100)
och det fungerar.