javahibernatejpasessionfactoryhibernate-entitymanager

Hibernate SessionFactory vs. JPA EntityManagerFactory


I am new to Hibernate and I'm not sure whether to use a Hibernate SessionFactory or a JPA EntityManagerFactory to create a Hibernate Session.

What is the difference between these two? What are the pros & cons of using each of those?


Solution

  • Prefer EntityManagerFactory and EntityManager. They are defined by the JPA standard.

    SessionFactory and Session are hibernate-specific. The EntityManager invokes the hibernate session under the hood. And if you need some specific features that are not available in the EntityManager, you can obtain the session by calling:

    Session session = entityManager.unwrap(Session.class);