You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Java Persistence API

The Java Persistence API (JPA) is a specification of Java and it is a standard technology. It is used to persist data between Java object and relational database. JPA acts as a bridge between object-oriented domain models and relational database systems. As JPA is just a specification, it doesn't perform any operation by itself. By itself, JPA is not a tool or framework; rather, it defines a set of concepts that can be implemented by any tool or framework. While JPA's object-relational mapping (ORM) model was originally based on Hibernate, it has since evolved.

JPA vs Hibernate

JPA is a standard, while Hibernate is not. In hibernate, we use Session for handling the persistence of data, while in JPA, we use Entity Manager. The query language in Hibernate is Hibernate Query language, while in JPA, the query language is Java Persistence query language. Hibernate is one of the most JPA providers.

Spring Data JPA

Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories. This module deals with enhanced support for JPA based data access layers. It makes it easier to build Spring-powered applications that use data access technologies.

It provides the following key dependencies:

  • Hibernate: One of the most popular JPA implementations.
  • Spring Data JPA: Helps you to implement JPA-based repositories.
  • Spring ORM: Core ORM support from the Spring Framework.

Jakarta Persistence

Jakarta Persistence defines a standard for management of persistence and object/relational mapping in Java(R) environments.



  • No labels