JPA is an ORM framework in JEE. It provides a set of APIs that the JPA implementation providers are expected to implement. There are many JPA providers, such as EclipseLink (https://eclipse.org/eclipselink/), Hibernate JPA (http://hibernate.org/orm/), and OpenJPA (http://openjpa.apache.org/). Before we start writing the persistence code using JPA, it is important to understand basic concepts of JPA.