Sie sind auf Seite 1von 10

Java Persistence API, más conocida


por sus siglas JPA, es la API de
persistencia desarrollada para la
plataforma Java EE. La cual es un
framework del lenguaje de
programación Java, que maneja datos
relacionales en aplicaciones usando
la plataforma Java en sus ediciones
Standard (Java SE) y Enterprise (Java
EE).

La JPA se origina a partir del trabajo
del JSR 220 Expert Group el cual
correspondía a EJB3. JPA 2.0 sería el
trabajo del JSR 317 y posteriormente
JPA 2.1 en el JSR 338.
Persistencia en este contexto cubre
tres áreas:
- La API en sí misma, definida en el
paquete javax.persistence
- El lenguaje de consulta Java
Persistence Query Language (JPQL).
- Metadatos objeto/relacional.

El objetivo que persigue el diseño
de esta API es no perder las
ventajas de la orientación a objetos
al interactuar con una base de
datos (siguiendo el patrón de
mapeo objeto-relacional), como sí
pasaba con EJB2, y permitir usar
objetos regulares (conocidos como
POJOs).

Java Persistence API, más conocida
por sus siglas JPA, es la API de
persistencia desarrollada para la
plataforma Java EE. La cual es un
framework del lenguaje de
programación Java, que maneja datos
relacionales en aplicaciones usando
la plataforma Java en sus ediciones
Standard (Java SE) y Enterprise (Java
EE).

Busca solucionar el problema de la diferencia
entre los dos modelos de datos coexistentes en
una aplicación: el usado en la memoria de la
computadora (orientación a objetos) y el usado en
las bases de datos (modelo relacional). Para lograr
esto permite al desarrollador detallar cómo es su
modelo de datos, qué relaciones existen y qué
forma tienen. Con esta información Hibernate le
permite a la aplicación manipular los datos en la
base de datos operando sobre objetos, con todas
las características de la POO. Hibernate convertirá
los datos entre los tipos utilizados por Java y los
definidos por SQL.

Hibernate genera las sentencias SQL y libera
al desarrollador del manejo manual de los
datos que resultan de la ejecución de dichas
sentencias, manteniendo la portabilidad entre
todos los motores de bases de datos con un
ligero incremento en el tiempo de ejecución.
Hibernate está diseñado para ser flexible en
cuanto al esquema de tablas utilizado, para
poder adaptarse a su uso sobre una base de
datos ya existente. También tiene la
funcionalidad de crear la base de datos a
partir de la información disponible.

La relación que existe entre JPA e Hibernate,
radica en que este último implementa como
parte de su código la especificación de JPA; es
decir que se puede usar Hibernate para
construir una capa de persistencia apoyándose
en las definiciones y reglas que la
especificación de JPA, aunque esto no sea
obligatorio.
Sin embargo, esto no quiere decir que
Hibernate simplemente implemente el
standard de JPA; Hibernate es mucho más
grande que la especificación de JPA y añade
más funcionalidad.
Una de las

características más Es importante destacar que
relevante de Hibernate, es que JPA es una parte de la
soporta la capacidad para trabajar especificación de EJB 3, es
con bases de datos NoSQL; algo que decir que no es un framework,
JPA no cubre. Este soporte hace que sino que es simplemente un
Hibernate permita trabajar con documento en el cual se
especifica los principios
bases de datos tipo MongoDB - básicos de gestión de la capa
orientadas a documentos -, siempre de persistencia en el mundo
y cuando se utilice Hibernate de de Java EE. En cambio,
forma directa y apoyada en las Hibernate, si se trata de un
anotaciones propietarias que utiliza framework que gestiona la
para soportar este nuevo tipo de capa de persistencia a través
de ficheros xml o anotaciones.
base de datos.