Me acabo de preguntar, el cierre EntityManagerFactory
es similar con el cierre de la conexión de la base de datos jdbc?
Esto no es exactamente cierto, pero cerrar un EntityManagerFactory
sería más cerca de destruir todo un conjunto de conexiones. Si desea pensar en la conexión JDBC, debe pensar EntityManager
.
¿Deberíamos cerrarlo después de cada persistencia/actualizar/eliminar o no?
la creación de un EntityManagerFactory
es una operación muy costosa y se debe hacer una vez durante la vida útil de la aplicación (que close
que al final de la aplicación). Entonces, no, no debería cerrarlo para cada operación de persistencia/actualización/eliminación.
El EntityManagerFactory
se crea una vez por todas y por lo general obtener una EntityManager
por solicitud, que está cerrada al final de la solicitud (EntityManager
por solicitud es el patrón más común para una aplicación cliente/servidor multiusuario).
Si no lo cerramos, ¿permanecerá la conexión de la base de datos abierta?
como se insinuó, que es el EntityManager
que en realidad está asociado a una conexión de base y cerrar la realidad EntityManager
dará a conocer la conexión JDBC (con mayor frecuencia, devolverlo a una piscina).
Si un EM posee conexiones, ¿cómo podría una conexión permanecer abierta si el "host" o "principal" está cerrado? Tiene sentido ? –