Está en la página 1de 5

Centro Educativo Tcnico Laboral Kinal

Informtica IN6AM

Java Persistence API (JPA)


Investigacin #3

Luis Daniel Monroy Rojas


Carn: 201314

Guatemala, 21, febrero, 2015

Java Persistence API


Java Persistence API, ms conocida por sus siglas JPA, es la API de persistencia
desarrollada para la plataforma Java EE. Es un framework del lenguaje de
programacin Java que maneja datos relacionales en aplicaciones usando la
Plataforma Java en sus ediciones Standard (Java SE) y Enterprise (Java EE). La
JPA fue originada a partir del trabajo del JSR 220 Expert Group. Ha sido incluida
en el estndar EJB3.
El Java Persistence API proporciona a los desarrolladores de Java con un mapeo
objeto/relacional facilidad para gestionar datos relacionales en aplicaciones de
java. 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 diseo de esta API es no perder las ventajas de la


orientacin a objetos al interactuar con una base de datos (siguiendo el patrn de
mapeo objeto-relacional), como s pasaba con EJB2, y permitir usar objetos
regulares (conocidos como POJOs).

Entidades
Una entidad es un objeto de dominio persistencia ligero. Normalmente, una
entidad representa una tabla de una base de datos relacional, y cada instancia de
la entidad corresponde a una fila en esa tabla. El artefacto de programacin
principal de la entidad es la clase de entidad, si bien las entidades pueden utilizar
clases de ayuda.
El estado persistente de una entidad est representada a travs de cualquiera de
los campos persistentes o propiedades persistentes. Estos campos o propiedades
utilizan objetos / anotaciones de mapeo relacional para mapear las entidades y
relaciones entre entidades a los datos relacionales en el almacn de datos
subyacente.

Gestin de Entidades
Las entidades son gestionadas por el gestor de la entidad, que est representado
por las instancias javax.persistence.EntityManager. Cada instancia de
EntityManager se asocia con un contexto de persistencia: un conjunto de
instancias de la entidad que gestiona que existen en un almacn de datos
particular. Un contexto de persistencia define el mbito en que se crean instancias
de entidades particulares, persistido, y eliminado. La interfaz EntityManager define
los mtodos que se utilizan para interactuar con el contexto de persistencia

Consulta de Entidades
El API Java Persistence ofrece los siguientes mtodos para efectuar consultas
entidades.

El lenguaje de consulta de Java Persistence (JPQL) es un lenguaje sencillo,


basado en cadena similar a SQL utiliza para consultar las entidades y sus
relaciones. Ver el Captulo 34, El Java Persistence Query Language para
ms informacin.
La API de criterios se utiliza para crear consultas typesafe utilizando Java
API del lenguaje de programacin para consultar a las entidades y sus
relaciones. Ver el Captulo 35, Uso de la API criterios para crear consultas
para ms informacin.

Tanto JPQL y la API Criterios tienen ventajas y desventajas.


Slo unas pocas lneas largas, consultas JPQL suelen ser ms conciso y ms
legible que las consultas de criterios. Los desarrolladores familiarizados con SQL
encontrarn fcil de aprender la sintaxis de JPQL. JPQL consultas con nombre se
pueden definir en la clase de entidad utilizando una anotacin Java lenguaje de
programacin o en el descriptor de despliegue de la aplicacin. Consultas JPQL
no se typesafe, sin embargo, y requieren un elenco al recuperar el resultado de la
consulta del gestor de la entidad. Esto significa que los errores de tipo de fundicin
no pueden ser capturados en tiempo de compilacin. Consultas JPQL no admiten
parmetros de composicin abierta.
Consultas de criterios permiten definir la consulta en la capa de negocio de la
aplicacin. Aunque esto tambin es posible utilizando JPQL consultas dinmicas,
consultas Criterios proporcionan un mejor rendimiento porque JPQL consultas
dinmicas deben ser analizados cada vez que se les llama. Consultas de criterios
son typesafe y por lo tanto no requieren de fundicin, como consultas JPQL
hacen. La API de criterios es slo otra API Java lenguaje de programacin y no
requiere a los desarrolladores para aprender la sintaxis de otro lenguaje de
consulta. Consultas de criterios suelen ser ms detallado que las consultas JPQL
y requieren el desarrollador para crear varios objetos y realizar operaciones sobre
los objetos antes de enviar la consulta a la gerente de la entidad.

Opinin Personal
En general JPA captura la esencia de la programacin orientada a objetos y
permite que nuestro cdigo y nuestras consultas desde java sean ms
estructuradas, evitndonos poner cdigo de SQL en la parte de java, lo cual
tambin brinda ms seguridad. Aunque sea un poco difcil de comprender, es una
tecnologa que vale la pena implementarla en nuestros proyectos.

También podría gustarte