Difference between Hibernate and Hibernate JPA
hibernate, java, jpa, orm
Solution
Indeed.
JPA is simply an API that allows you to abstract from the used persistence layer. Hibernate provides an implementation of the `EntityManager` interface that acts as an `adapter` - it uses the same underlying methods as a hibernate `SessionManager`.
The idea is that you could, for example, switch your implementation to Eclipse Link and not have to change any of your source code.
Problem
I found a lot of similar questions - Difference between Hibernate library and Hibernate JPA library - What's the difference between JPA and Hibernate? - similarity and difference between jpa and hibernate but no one answers my next question. What diference between classical hibernate approach using `org.hibernate.SessionFactory` and JPA `javax.persistence.EntityManager` implementation? I heard, that this JPA implementation uses `org.hibernate.SessionFactory` and works like wrapper, is it real?