Java Persistence API

JPAJava PersistenceJPA 2.0 Java Persistence API (JPA)connections to the databaseContainer Managed PersistenceJava Persistence API (''JPA'')Java Persistence API 2.0
The Java Persistence API (JPA), in 2019 renamed to Jakarta Persistence, is a Java application programming interface specification that describes the management of relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition/Jakarta EE.wikipedia
86 Related Articles

Java Persistence Query Language

JPQLHQLHibernate Query Language
The Java Persistence Query Language (JPQL) makes queries against entities stored in a relational database.
The Java Persistence Query Language (JPQL) is a platform-independent object-oriented query language defined as part of the Java Persistence API (JPA) specification.

Application server

web application serverserverJava application server
This is because entity beans, in previous EJB specifications, called for too much complicated code and heavy resource footprint, and they could be used only in Java EE application servers because of interconnections and dependencies in the source code between beans and DAO objects or persistence framework.
In the case of Java application servers, the server behaves like an extended virtual machine for running applications, transparently handling connections to the database on one side, and, often, connections to the Web client on the other.

Java Platform, Enterprise Edition

Java EEJ2EEJava Enterprise Edition
The Java Persistence API (JPA), in 2019 renamed to Jakarta Persistence, is a Java application programming interface specification that describes the management of relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition/Jakarta EE.
For the actual persistence, JDBC or Java Persistence API (JPA) can be used.

EclipseLink

The reference implementation for JPA is EclipseLink.
Sun Microsystems has selected the EclipseLink project to be the reference implementation for JPA 2.0., Oracle did the same for JPA 2.1.

Enterprise JavaBeans

EJBEnterprise JavaBeanEnterprise Java Beans
Prior to the introduction of EJB 3.0 specification, many enterprise Java developers used lightweight persistent objects, provided by either persistence frameworks (for example Hibernate) or data access objects instead of entity beans.
Many features originally in Hibernate were incorporated in the Java Persistence API, the replacement for entity beans in EJB 3.0.

Data access object

DAODAO PatternsDatabase Access Objects
Prior to the introduction of EJB 3.0 specification, many enterprise Java developers used lightweight persistent objects, provided by either persistence frameworks (for example Hibernate) or data access objects instead of entity beans.
Technologies like Java Persistence API and Enterprise JavaBeans come built into application servers and can be used in applications that use a JavaEE application server.

Java Community Process

JSRJava Specification RequestJCP
The final release date of the JPA 1.0 specification was 11 May 2006 as part of Java Community Process JSR 220.

Entity Bean

entity beans
Prior to the introduction of EJB 3.0 specification, many enterprise Java developers used lightweight persistent objects, provided by either persistence frameworks (for example Hibernate) or data access objects instead of entity beans.
In EJB 3.0, entity beans were superseded by the Java Persistence API (which was subsequently completely separated to its own spec as of EJB 3.1).

Hibernate (framework)

HibernateHibernate (Java)Hibernate ORM
Prior to the introduction of EJB 3.0 specification, many enterprise Java developers used lightweight persistent objects, provided by either persistence frameworks (for example Hibernate) or data access objects instead of entity beans. Thus, many of the features originally presented in third-party persistence frameworks were incorporated into the Java Persistence API, and, as of 2006, projects like Hibernate (version 3.2) and TopLink Essentials have become themselves implementations of the Java Persistence API specification.
, Hibernate 3 (version 3.5.0 and up) was a certified implementation of the Java Persistence API 2.0 specification via a wrapper for the Core module which provides conformity with the JSR 317 standard.

Oracle TopLink

TopLinkTopLink Essentials
Thus, many of the features originally presented in third-party persistence frameworks were incorporated into the Java Persistence API, and, as of 2006, projects like Hibernate (version 3.2) and TopLink Essentials have become themselves implementations of the Java Persistence API specification.
In Java Persistence API, an entity is a persistence class.

Batoo JPA

Batoo JPA is an implementation of Java Persistence API version 1.0 and 2.0.

DataNucleus

JPOX
DataNucleus Access Platform is a fully compliant implementation of the Java Data Objects (JDO) 1.0, 2.0, 2.1, 2.2, 3.0, 3.1, 3.2 specifications (JSR 0012, JSR 0243 ) and the Java Persistence API (JPA) 1.0, 2.0, 2.1, 2.2 specifications (JSR 0220, JSR 0317, JSR 0338 ), providing transparent persistence of Java objects.

Java annotation

annotationsannotationJava 5 annotations
Object/relational metadata can be specified directly in the entity class file by using annotations, or in a separate XML descriptor file distributed with the application.
The following, for example, is an annotated JPA data class:

Apache OpenJPA

OpenJPAKodo
OpenJPA is an open source implementation of the Java Persistence API specification.

ObjectDB

Accordingly, working with ObjectDB requires using one of the two standard Java APIs: JPA or JDO.

Java Data Objects

JDOJDO datastoresJSR 12
The Java Data Objects specification supports ORM, as well as persistence to other types of database models, for example flat file databases and NoSQL databases, including document databases, graph databases, as well as literally any other conceivable datastore.
In the end, persistence has been "broken out" of "EJB3 Core", and a new standard formed, the Java Persistence API (JPA).

OpenXava

OpenXava allows developers to define applications with POJOs, JPA and Java 5 annotations.

Versant Object Database

Versant CorporationVersantVersant Object Database / JPA / FastObjects
In 2012 Versant introduced Versant JPA, a Java Persistence API 2.0 compliant interface for its object database, with a technical preview of an analytics product including Apache Hadoop support.

.NET Persistence API

.NET Persistence API (NPA)
NPA is based on the Java Persistence API (JPA), which is the standard persistence API in the Java world.

Java (programming language)

JavaJava programming languageJava language
The Java Persistence API (JPA), in 2019 renamed to Jakarta Persistence, is a Java application programming interface specification that describes the management of relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition/Jakarta EE.

Application programming interface

APIAPIsapplication programming interfaces
The Java Persistence API (JPA), in 2019 renamed to Jakarta Persistence, is a Java application programming interface specification that describes the management of relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition/Jakarta EE.

Relational model

relationalrelational data modelrelationships
The Java Persistence API (JPA), in 2019 renamed to Jakarta Persistence, is a Java application programming interface specification that describes the management of relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition/Jakarta EE.

Java Platform, Standard Edition

Java SEJ2SEJava
The Java Persistence API (JPA), in 2019 renamed to Jakarta Persistence, is a Java application programming interface specification that describes the management of relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition/Jakarta EE.