The Java Persistence API (JPA) is a Java specification for accessing, persisting, and managing data between Java objects / classes and a relational database.
The JPA is just a specification and can’t any operations by itself.
- JPA defines a runtime EntityManager API for processing queries and transaction on the objects against the database.
- JPA defines an object-level query language, JPQL, to allow querying of the objects from the database.
There are some open-source and commercial JPA implementations, like: