java - example - hibernate sessionfactory or entitymanager
Hibernate SessionFactory vs EntityManagerFactory (1)
Debería preferir la API estándar de JPA sobre la de Hibernate patentada, por varias razones:
- Te hace aprender algo que puedes reutilizar en otros proyectos, confiando en una implementación diferente
- La API de JPA es más limpia que la de Hibernate: no tiene los primeros errores que la API de Hibernate tiene
- Los esfuerzos y las evoluciones ahora están dirigidos a la API de JPA. Por ejemplo, la API de criterios estándar de JPA2 es más completa que la antigua API de Hibernate Criteria (pero más compleja de usar, en mi humilde opinión)
- Si lo desea, siempre puede obtener la sesión de Hibernate desde JPA EntityManager. No viceversa
De todos modos, la mayor parte del esfuerzo consiste en mapear las entidades mismas, y eso se hace usando anotaciones JPA estándar, incluso cuando se utiliza la API de sesión.
Esta pregunta ya tiene una respuesta aquí:
- Hibernate SessionFactory vs. EntityManagerFactory 5 respuestas
Me he estado moviendo con esta pregunta y la diferencia de ojo de pájaro entre Hibernate SessionFactory y JPA EntityManagerFactory es que JPA es estándar. Puede usarlo sin tener miedo del ORM subyacente. sin embargo, llama a la SessionFactory subyacente bajo el capó. (Corrígeme si estoy equivocado)
Pero si alguien sabe que tiene que quedarse con Hibernate como ORM en el futuro, ¿qué debería elegir entre estas dos fábricas y por qué?
En segundo lugar, ¿cuáles son las otras diferencias entre estos dos con respecto al rendimiento, características, estabilidad, etc.?