-
ORM is the approach of taking object-oriented data and mapping to a relational data store (e.g. tables in a RDBMS)
-
JPA is the Java EE standard specification for ORM in Java EE.
-
The reference implementation for JPA is EclipseLink. If you don’t explictly configure a provider, EclipseLink is used under the covers.
-
Hibernate is another implementation of the JPA specification, in that you can use the standard JPA APIs and configure your application to use Hibernate as the provider of the spec under the covers.
-
Hibernate also provides a superset of the ORM features beyond what is specified in the JPA spec. Meaning, that while it provides an implementation of the JPA API, it also provides more features beyond what JPA specifies.