Tengo un proceso por lotes diario que implica seleccionar una gran cantidad de registros y formatear un archivo para enviarlo a un sistema externo. También necesito marcar estos registros como enviados para que no se vuelvan a transmitir mañana.¿Hibernate es bueno para el procesamiento por lotes? ¿Qué hay del uso de la memoria?
En mi forma ingenua de JDBC, preparaba y ejecutaba una declaración y luego comenzaba a recorrer el conjunto de registros. Como solo avanzo en el conjunto de registros, no hay necesidad de que mi servidor de aplicaciones mantenga todo el conjunto de resultados en la memoria al mismo tiempo. Los grupos de registros se pueden alimentar desde el servidor de la base de datos.
Ahora, digamos que estoy usando hibernate. ¿No terminaré con un grupo de objetos que representan todo el conjunto de resultados en la memoria a la vez?
Cambiar la proyección es muy fácil en Hibernate, puede recuperar la lista