JPA describes the mapping of objects-relational tables through JDK 5.0 annotations or XML, and persists entity objects for the run-time into the database.
One of the goals of JPA is to develop an API that can be implemented by many vendors, and developers can code to implement the API instead of using proprietary vendor-specific APIs. So developers only need to use vendor-specific APIs to get the functionality that the JPA specification does not address but the application needs. Use the JPA APIs as much as possible, but use vendor-specific APIs when you need the functionality that the vendor exposes but does not provide in the specification.
JPA is required to provider to achieve its function, Hibernate is a very strong JPA provider, at present, should be no one out of their right. Functionally, JPA is now a subset of hibernate functionality. Hibernate starts at 3.2 and is compatible with JPA.
Source: >
JPA is the standard, Hibernate is the framework, understand? JPA is the persistence specification (Java Persistens API) introduced by Sun, hibernate just implements JPA, and you can understand the relationship between JSF and Myfaces.
What is JPA, and what does hibernate have to do with it?