Después de algunas horas siguientes encontré el problema. El tamaño de recuperación predeterminado de OJDBC es 10, por lo que con el aumento del número de filas para obtener el tiempo aumenta muy rápido.
Lo extraño:esta fue mi primera idea, así que traté de establecer <property name="eclipselink.jdbc.fetch-size" value="100"/>
en persistence.xml
. No funcionó, así que salté a otras soluciones. Hoy lo configuré en consulta única por query.setHint("eclipselink.jdbc.fetch-size", 100)
y funciona.