Los 21 Mejores Frameworks de Java 2021 - Ciberninjas

¿Te gustaría aprender todo sobre ??? la API de persistencia de Java ?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

JPA (API de Persistencia en Java) es el estándar en Java que define una abstracción que nos permite realizar la integración entre el sistema orientado a objetos de Java y el sistema relacional de nuestra base de datos. Realiza por nosotros toda la conversión entre nuestros objetos y las tablas de una base de datos. Esta conversión se llama ORM (Mapeo Relacional de Objetos) y puede configurarse a través de metadatos (XML) o anotaciones.

JPA establece un interface común que es implementada por un “JPA Provider” concreto. De modo que es el Proveedor JPA el que realiza el trabajo. Entre los proveedores JPA más conocidos se encuentran Hibernate, Eclipse Link, TopLink, OpenJPA.

JPA TecGurus

Arquitectura

La arquitectura de JPA está diseñada para gestionar Entidades y las relaciones que hay entre ellas. A continuación, detallamos los principales componentes de la arquitectura.

Jerarquía de las principales componentes de JPA

Entity: Son los objetos persistidos en Base de datos como registros de una tabla. Podemos decir que cada Entidad corresponderá con una tabla de nuestra Base de Datos.
Persistence: Clase con métodos estáticos que nos permiten obtener instancias de EntityManagerFactory.
EntityManagerFactory: Es una factoría de EntityManager. Se encarga crear y gestionar múltiples instancias de EntityManager.
EntityManager: Es una interface que gestiona las operaciones de persistencia de las Entidades. A su vez trabaja como factoría de Query.
Query: Es una interface para obtener la relación de objetos que cumplen un criterio.
EntityTransaction: Agrupa las operaciones realizadas sobre un EntityManager en una única transacción de Base de Datos.

Implementaciones de JPA

Curso de JPA Java TecGurus

JPA es una especificación, así que para usarlo en la práctica necesitamos una implementación concreta, que implemente todas las interfaces y cuestiones definidas por la especificación.

La principal ventaja de esto es que, si las bibliotecas de persistencia que utilices siguen la especificación JPA, podrás cambiar de una a otra, con más rendimiento o características mejores, sin tener que tocar tu código, simplemente cambiando las referencias.

Existen diversas implementaciones disponibles, como DataNucleus, ObjectDB, o Apache OpenJPA , pero las dos más utilizadas son EclipseLink y sobre todo Hibernate.

La implementación de referencia de JPA, es decir, la implementación que proporciona la propia Fundación Eclipse y que sirve para ver cómo crear un ORM basado en la especificación, es EclipseLink. Esta implementación incluye soporte para persistencia en bases de datos relacionales, bases de datos documentales (como MongoDB), almacenes XML (especificación JAXB) y servicios web de bases de datos, por lo que es muy completa. Además añade otras características propias por encima de JPA, como son eventos para reaccionar a cambios en bases de datos o poder mapear entidades en diferentes bases de datos mismo tiempo.

La otra gran implementación de JPA es Hibernate, que en la actualidad es casi el “estándar” de facto, puesto que es la más utilizada, sobre todo en las empresas. Es tan popular que existen hasta versiones para otras plataformas, como  NHibernate para la plataforma .NET. Es un proyecto muy maduro (de hecho, la especificación JPA original partió de él), muy bien documentado y que tiene un gran rendimiento.

Te invitamos a ver todos nuestros artículos que tenemos para ti, coméntanos que tal te pareció este articulo y compártelo con más personas.

¿Te gustaría aprender todo sobre ??? la API de persistencia de Java ?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

About Author

Lupita

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax