
JPA - Persistence Operations
- JPA - Entity Managers
- JPA - Create Employee Example
- JPA - Update Employee Example
- JPA - Find Employee Example
- JPA - Delete Employee Example
- JPA - Criteria API
JPA - JPQL
- JPA - JPQL
- JPA - Scalar Function
- JPA - Aggregate Function
- JPA - Between Keyword
- JPA - Like Keyword
- JPA - Order By Clause
- JPA - Named Query
JPA - Advanced Mappings
- JPA - Advanced Mappings
- JPA - Single Table Strategy
- JPA - Joined Table Strategy
- JPA - Table per Class Strategy
JPA - Entity Relationships
- JPA - Entity Relationships
- JPA - @ManyToOne Relationships
- JPA - @OneToMany Relationships
- JPA - @OneToOne Relationships
- JPA - @ManyToMany Relationships
JPA - Useful Resources

JPA Tutorial
What is JPA?
Java Persistence API is a collection of classes and methods to persistently store the vast amounts of data into a database. This tutorial provides you the basic understanding of Persistence (storing the copy of database object into temporary memory), and we will learn the understanding of JAVA Persistence API (JPA).
This JPA tutorial is based on the latest EclipseLink 4.0.2 version.
History of JPA
Earlier versions of EJB, defined persistence layer combined with business logic layer using javax.ejb.EntityBean Interface.
JPA History
Earlier versions of EJB, defined persistence layer combined with business logic layer using javax.ejb.EntityBean Interface.
While introducing EJB 3.0, the persistence layer was separated and specified as JPA 1.0 (Java Persistence API). The specifications of this API were released along with the specifications of JAVA EE5 on May 11, 2006 using JSR 220.
JPA 2.0 was released with the specifications of JAVA EE6 on December 10, 2009 as a part of Java Community Process JSR 317.
JPA 2.1 was released with the specification of JAVA EE7 on April 22, 2013 using JSR 338.
JPA 2.2 was released as a maintenance release in summer of 2017.
JPA 3.0 as part of Java EE project was transferred from Oracle to Eclipse Foundation and renamed as Jakarta EE. Packages were renamed from javax.persistence to jakarta.persistence.
Jakarta Persistance 3.1 was released in Sep'2022 as part of Jakarta EE 10
Jakarta Persistance 3.2 was released in Spring of 2024 as part of Jakarta EE 11
Popular JPA Providers
JPA is an open source API, therefore various enterprise vendors such as Oracle, Redhat, Eclipse, etc. provide new products by adding the JPA persistence flavor in them. Some of these products include:
Hibernate
Eclipselink
Toplink
Spring Data JPA
JPA Jobs & Opportunities
JPA is very in demand, and all the major companies are recruiting Java programmers to develop their desktop, web, and mobile applications interacting with databases using JPA.
Today, a Java programmer with 3-5 years of experience is asking for around $120,000 in an in an annual package, and this is the most demanding programming language in America. Though it can vary depending on the location of the job. Following are the great companies that are using Java and they need good Java programmers:
- Microsoft
- IBM
- Amazon
- Netflix
- Uber
- JetBrains
- Many more...
So, you could be the next potential employee for any of these major companies. We have developed great learning material for JPA that will help you prepare for the technical interviews and certification exams based on JPA. So, start learning JPA using this simple and effective tutorial from anywhere and anytime, absolutely at your pace.
Who should learn JPA?
This JPA tutorial is designed for aspiring developers with a need to understand the JPA to interact with Database in enough detail along with its simple overview and practical examples. This tutorial will give you enough ingredients to start with JPA, from where you can take yourself to a higher level of expertise.
Prerequisites to Learn JPA
Before proceeding with this JPA you should have a basic working knowledge of the Java; additionally, you must be familiar with −
- Experience with any text editor like Notepad, Notepad++, or Edit Plus etc.
- How to create directories and files on your computer.
- How to navigate through different directories.
- How to type content in a file and save it on a computer.
- Basic understanding of coding