Soy nuevo en JPA/OpenJPA y noté que si no llamo al EntityManager.clear()
después de persistir entidades obtengo un OutOfMemoryError
(sigo agregando nuevas entidades en un bucle). No estoy seguro de si este es el comportamiento esperado o simplemente es un error de OpenJPA 1.2.1.¿Se supone que debo llamar a EntityManager.clear() a menudo para evitar fugas de memoria?
Entonces, ¿debo separar las entidades yo mismo? Si no, ¿es una buena práctica de todos modos?
Gracias. De acuerdo, con las pistas en las respuestas, descubrí que se supone que no debo usar solo un EntityManager duradero en la aplicación. Debo usar el alcance del método o el alcance de la solicitud [1]. Eso eliminaría la necesidad de llamar a em.clear(). ¡Gracias! [1] http://javanotepad.blogspot.com/2007/08/managing-jpa-entitymanager-lifecycle.html – ecerulm
Enlace de interés. Había usado JPA con Dependency Injection (usando Seam), por lo que no había tenido problemas similares. – Padmarag