Sono nuovo di JPA/OpenJPA e ho notato che se non chiamo EntityManager.clear()
dopo la persistenza delle entità ottengo un OutOfMemoryError
(continuo ad aggiungere nuove entità in un ciclo). Non sono sicuro se questo è il comportamento previsto o è solo e OpenJPA 1.2.1 glitch.Devo chiamare EntityManager.clear() spesso per evitare perdite di memoria?
Quindi, sono obbligato a separare esplicitamente le entità da solo? Se non lo sono, è comunque una buona pratica?
Grazie. ok, con i suggerimenti nelle risposte ho capito che non dovrei usare solo un EntityManager longevo nell'applicazione. Dovrei usare l'ambito del metodo o richiedere l'ambito [1]. Ciò eliminerebbe la necessità di chiamare em.clear(). Grazie! [1] http://javanotepad.blogspot.com/2007/08/managing-jpa-entitymanager-lifecycle.html – ecerulm
Link utile. Avevo usato JPA con Dependency Injection (usando Seam), quindi non avevo affrontato problemi simili. – Padmarag