manager example create java spring hibernate jpa orm

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:

  1. Te hace aprender algo que puedes reutilizar en otros proyectos, confiando en una implementación diferente
  2. La API de JPA es más limpia que la de Hibernate: no tiene los primeros errores que la API de Hibernate tiene
  3. 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)
  4. 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í:

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.?