Java Persistence API

De Viquipèdia
Dreceres ràpides: navegació, cerca

La Java Persistence API (JPA) és un entorn programat en Java que permet que els desenvolupadors gestionin dades sobre la plataforma Java i les aplicacions Java EE.

La Java Persistence API va començar com a part de la feina del JSR 220 Expert Group.

La persistència consisteix en tres àrees:

  • l'API, definida al paquet javax.persistence
  • el Java Persistence Query Language
  • metadades objecte/relacional

Entitats[modifica | modifica el codi]

Una entitat de persistència és una classe Java lleugera que típicament representa una taula en una base de dades relacional. Les instàncies d'entitat corresponen a registres de la taula. Les entitats estan habitualment relacionades amb d'altres i aquestes relacions s'expressen mitjançant metadades d'objecte/relacional. Les metadades d'objecte/relacional poden estar especificades directament al fitxer de classe (.class) usant anotacions, o en un fitxer descriptor XML inclòs a l'aplicació.

Llenguatge de Query de Persistència Java[modifica | modifica el codi]

El Llenguatge de Query de Persistència Java (Java Query Persistence Language, JQPL) s'usa per fer queries contra entitats guardades en una base de dades relacional. La seva sintaxi és semblant a la de l'SQL, però operen contra objectes d'entitat, en lloc de contra taules de la base de dades.

Relació entre Java Persistence API i Enterprise JavaBeans[modifica | modifica el codi]

La Java Persistence API va ser definida com a part de l'especificació EJB 3.0, que al seu temps també és part de la plataforma Java EE 5. No calen contenidor EJB o servidor d'aplicacions Java EE per executar aplicacions que usen persistència. les futures versions de la Java Persistence API estaran definides en un JSR.

Relació entre Java Persistence API i l'API Service Data Object[modifica | modifica el codi]

L'API de persistència Java està dissenyada per la persistència d'objecte relacional, amb moltes de les àrees preses d'un mapeig d'objecte relacional anomenat Hibernate. Generalment s'accepta que l'API de persistència de Java és una millora significativa sobre l'especificació EJB 2.0. L'API Service Data Object (SDO, JSR 235) té un objectiu molt diferent al de l'API de persistència Java i es considera complementària. L'API SDO està dissenyada per arquitectura orientada a serveis, amb múltiples formats de dades en lloc de només dades relacionals i múltiples llenguatges de programació. La versió Java de l'SDO API es gestiona via el JCP i la versió C++ via OASIS.

Motivació[modifica | modifica el codi]

Molts desenvolupadors Java han estat usant persistència d'objectes lleugers proveïts per entorns de codi obert o Data Access Object en lloc d'entity beans perquè els entity beans i els enterprise beans eren considerats massa pesants i complicats i només podien ser usats en servidors d'aplicacions Java EE. Moltes de les funcionalitats dels entorns de persistència foren incorporades a la Java Persistence API i projectes com Hibernate i TopLink són ara implementacions de la Java Persistence API.

Enllaços externs[modifica | modifica el codi]