Persistencia de Yakarta

Enterprise BeansEdit

La especificación EJB 3.0 (que a su vez forma parte de la plataforma Java EE 5) incluía una definición de la API de persistencia de Java. Sin embargo, los usuarios finales no necesitan un contenedor EJB o un servidor de aplicaciones Java EE para ejecutar aplicaciones que utilicen esta API de persistencia. Las futuras versiones de la API de persistencia de Java se definirán en una JSR y una especificación separadas en lugar de en la JSR/especificación de EJB.

La API de persistencia de Java sustituye a la solución de persistencia de EJB 2.0 CMP (Container Managed Persistence).

APIEdigo de Java Data Objects

Artículo principal: Java Data Objects

La API de Java Persistence fue desarrollada en parte para unificar la API de Java Data Objects, y la API de EJB 2.0 Container Managed Persistence (CMP). A partir de 2009 la mayoría de los productos que soportan cada una de esas APIs soportan la Java Persistence API.

La Java Persistence API especifica la persistencia sólo para sistemas de gestión de bases de datos relacionales. Es decir, JPA se centra en el mapeo objeto-relacional (ORM) (tenga en cuenta que hay proveedores de JPA que soportan otros modelos de bases de datos además de la base de datos relacional, pero esto está fuera del ámbito para el que se diseñó JPA). Consulte la introducción de la sección 1 de la especificación JPA 2 para aclarar el papel de JPA, que establece muy claramente «El objetivo técnico de este trabajo es proporcionar una facilidad de mapeo objeto/relacional para el desarrollador de aplicaciones Java que utiliza un modelo de dominio Java para gestionar una base de datos relacional.»

La especificación Java Data Objects soporta ORM, así como la persistencia a otros tipos de modelos de bases de datos, por ejemplo bases de datos de archivos planos y bases de datos NoSQL, incluyendo bases de datos de documentos, bases de datos de gráficos, así como literalmente cualquier otro datastore concebible.

Service Data Object APIEdit

Artículo principal: Objetos de datos de servicio

Los diseñadores de la API de persistencia de Java tenían como objetivo proporcionar una persistencia relacional, con muchas de las áreas clave tomadas de las herramientas de mapeo objeto-relacional como Hibernate y TopLink. La API de persistencia de Java mejoró y sustituyó al EJB 2.0, como demuestra su inclusión en el EJB 3.0. La API de objetos de datos de servicio (SDO) (JSR 235) tiene un objetivo muy diferente al de la API de Java Persistence y se considera complementaria. La API SDO está diseñada para arquitecturas orientadas al servicio, múltiples formatos de datos en lugar de sólo datos relacionales, y múltiples lenguajes de programación. El Java Community Process gestiona la versión Java de la API SDO; la versión C++ de la API SDO se gestiona a través de OASIS.

HibernateEdit

Artículo principal: Hibernate (framework)

Hibernate proporciona un framework de mapeo objeto-relacional de código abierto para Java. Las versiones 3.2 y posteriores proporcionan una implementación de la API de persistencia de Java. Gavin King fundó el proyecto Hibernate. Representó a JBoss en JSR 220, el grupo de expertos del JCP encargado de desarrollar JPA. Esto dio lugar a una controversia y especulación constantes en torno a la relación entre JPA e Hibernate. Sun Microsystems ha declarado que las ideas provenían de varios marcos, incluyendo Hibernate y Java Data Objects.

Spring Data JPAEdit

Una implementación de la abstracción de repositorio que es un bloque de construcción clave de Domain-Driven Design basado en el marco de aplicación Java Spring. Soporta de forma transparente todas las implementaciones de JPA disponibles y admite operaciones CRUD así como la cómoda ejecución de consultas a la base de datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *