Recién comenzamos a utilizar Hibernate y todavía nos estamos acostumbrando a la forma en que funciona.Cómo forzar a hibernar a liberar memoria una vez que se cierra la sesión?
Una de las cosas que hemos visto es que incluso después de que todas las sesiones se cierran y las referencias han salido del alcance, hibernate aún parece mantener los valores de base de datos usados previamente en su caché.
Tenemos un código que lee de un conjunto de tablas en varias pasadas. Debido a que toda la memoria se libera con moderación, los pases posteriores se ralentizan hasta convertirse en un rastreo.
¿Hay alguna manera de forzar a Hibernate a borrar su caché?
Una llamada explícita a System.gc() no ayuda. (Sí, sé que es una sugerencia)
Información adicional: Hemos inhabilitado explícitamente la memoria caché de segundo nivel.
Asumo que no está utilizando la memoria caché de segundo nivel de Hibernate entonces? ¿Qué estrategia estás utilizando para la gestión de sesiones? "Sesión por hilo"? –
Estamos usando session-per-thread, y hemos inhabilitado explícitamente el caché de segundo nivel – StudioEvoque