The Java Persistence API provides Java developers with an api for mapping java objects to relational data. In this course, you will learn about the JPA API, JPQL (Java Persistence query language), Java Persistence Criteria API and how you can perform ORM (Object Relational Mapping) with JPA.

Hibernate is the most popular implementation of JPA. It was the most popular ORM framework option before JPA emerged and it provides additional features on top of JPA. We will use Hibernate as the JPA implementation in this course.

What Will I Learn? - You will learn the basics of JPA and Hibernate - Entities, Relationships, Inheritance Mappings and Annotations - You will understand approaches to querying data using JPA and Hibernate - JPQL, Criteria API and Native Queries - You will understand JPA and Hibernate Relationships in depth - One to One, Many to One and Many to Many - You will use a variety of Spring Boot Starters - Spring Boot Starter Web, Starter Data Jpa, Starter Test - You will learn the basic of performance tuning your JPA application with Hibernate - Solve N+1 Queries Issue - You will learn the basics of caching - First Level Cache and Second Level Cache with EhCache - You will understand the basics of Spring Data JPA and Spring Data REST