Leer esto sobre MySQL define ciertas sugerencias de consulta (anotación @QueryHints ) que son necesarias para que MySQL procese el conjunto de resultados fila por fila. ¿Alguien sabe con certeza qué se requiere (si es que se requiere algo) para PostgreSQL?
Aquí está la definición de consulta de referencia en el repositorio de MySQL:
@QueryHints(value = @QueryHint(name = HINT_FETCH_SIZE, value = "" + Integer.MIN_VALUE)) @Query(value = "select t from Todo t") Stream<Todo> streamAll();Su equivalente en PostgreSQL es:
@QueryHints(value = @QueryHint(name = HINT_FETCH_SIZE, value = "1") Por el contrario setFetchSize(rows) debe lanzar SQLException cuando la condición de rows >= 0 no se cumple . Esto no es respetado por el controlador JDBC de MySQL.
Aunque en PostgreSQL, en realidad puede configurar valores mayores que 1 para permitir algo de almacenamiento en caché por parte del controlador JDBC de PostgreSQL. El ejemplo de 50 de los documentos parece razonable (a menos que tenga filas irracionalmente anchas). También puede elegir este valor para que sea una parte del recuento de filas esperado. Pruebe algunas variantes antes de implementar su aplicación.