The Java Persistence API (JPA) is an approach to object-relational mapping (ORM). ORM is a system that maps Java objects to databases, tables, and vice-versa. JPA can be used in both Java enterprise and standard edition-based applications. Hibernate, TopLink, EclipseLink, and Apache OpenJPA are the implementations of the JPA. Among these, Hibernate is the most advanced and widely used.
JPA helps the developer to work directly with the objects, and therefore, there is no need to worry about the SQL statements. With the help of the JPA, they can map, store, update, and fetch the data from a relational database to a Java object or vice versa.
JPA metadata is mainly defined by the annotation in a class. However, it also supports XML, which means it can be defined by XML. We will use the annotation to define the JPA metadata throughout this book. Now, we will...