Objetos de datos Java

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Especificación de la persistencia de objetos Java

Objetos de datos Java (JDO) es una especificación de persistencia de objetos Java. Una de sus características es la transparencia de los servicios de persistencia al modelo de dominio. Los objetos persistentes de JDO son clases de lenguaje de programación Java ordinarias (POJO); no hay ningún requisito para que implementen ciertas interfaces o se extiendan desde clases especiales. JDO 1.0 se desarrolló bajo Java Community Process como JSR 12. JDO 2.0 se desarrolló bajo JSR 243 y se lanzó el 10 de mayo de 2006. JDO 2.1 se completó en febrero de 2008, desarrollado por el proyecto Apache JDO. JDO 2.2 se lanzó en octubre de 2008. JDO 3.0 se lanzó en abril de 2010.

La persistencia del objeto se define en los metarchivos XML externos, que pueden tener extensiones específicas del proveedor. Los proveedores de JDO proporcionan a los desarrolladores mejoradores, que modifican los archivos de clase Java compilados para que puedan persistir de forma transparente. (Tenga en cuenta que la especificación JDO no exige la mejora del código de bytes, aunque es el mecanismo comúnmente utilizado para implementar los requisitos de la especificación JDO). Actualmente, los proveedores de JDO ofrecen varias opciones para la persistencia, p. a RDBMS, a OODB oa archivos.

Las clases mejoradas de JDO son portátiles entre diferentes proveedores' implementación. Una vez mejorada, una clase Java se puede usar con el producto JDO de cualquier proveedor.

JDO se integra con Java EE de varias formas. En primer lugar, la implementación del proveedor se puede proporcionar como Conector JEE. En segundo lugar, JDO puede funcionar en el contexto de los servicios de transacciones JEE.

JDO frente a EJB3 frente a JPA

La especificación Enterprise JavaBeans 3.0 (EJB3) también cubría la persistencia, al igual que EJB v2 con Entity Beans. Ha habido conflictos de estándares entre los dos organismos de estándares en términos de preeminencia. JDO tiene varias implementaciones comerciales.

Al final, la persistencia se ha "roto" de "EJB3 Core", y se formó un nuevo estándar, la API de persistencia de Java (JPA). JPA usa el paquete javax.persistence, y se especificó por primera vez en un documento separado dentro de la especificación EJB3 JSR 220, pero luego se movió a su propia especificación JSR 317. Significativamente, javax.persistence no requerirá un contenedor EJB y, por lo tanto, también funcionará dentro de un entorno Java SE, como siempre lo ha hecho JDO. JPA, sin embargo, es un estándar de mapeo relacional de objetos (ORM), mientras que JDO es tanto un estándar de mapeo relacional de objetos como un estándar de persistencia de objetos transparentes. JDO, desde el punto de vista de la API, es independiente de la tecnología del almacén de datos subyacente, mientras que JPA está dirigido a almacenes de datos RDBMS (aunque hay varios proveedores de JPA que admiten el acceso a almacenes de datos no relacionales a través de la API de JPA, como DataNucleus y ObjectDB).

Las principales implementaciones comerciales de JDO y los proyectos de código abierto también ofrecen una implementación de la API de JPA como acceso alternativo a sus motores de persistencia subyacentes, que antes estaban expuestos únicamente a través de JDO en los productos originales. Hay muchas implementaciones de código abierto de JDO.

Nuevas funciones en la versión 2 de JDO que no se encuentran en la versión 1

  • Concepto gráfico de objeto desconectado
  • Descriptores de cartografía normalizados de ORM (para las implementaciones de JDO basadas en ORM)
  • Mejoras JDOQL (Form de cuerda fina; más String, Map & Math methods support mandated)
  • Por ejemplo, a Connection desde javax.jdo.PersistenceManager
  • Más: Consultas nombradas (pm.newNamedQuery), FetchPlan, Sequence, Eliminar por Consulta, múltiples objetos de usuario en PM

Implementaciones de referencia de JDO

  • JDO 1.0: FOStore
  • JDO 2.0: JPOX 1.1
  • JDO 2.1: JPOX 1.2
  • JDO 2.2: DataNucleus AccessPlatform 1.0.1
  • JDO 3.0: DataNucleus AccessPlatform 2.1.0
  • JDO 3.1: DataNucleus AccessPlatform 3.2.0
  • JDO 3.2: DataNucleus AccessPlatform 5.2.0

Contenido relacionado

La definición de software libre

La definición de software libre escrita por Richard Stallman y publicada por la Free Software Foundation define el software libre como aquel que garantiza...

Memoria del ordenador

En informática, memoria es un dispositivo o sistema que se utiliza para almacenar información para su uso inmediato en una computadora o hardware...

BÁSICO

BASIC es una familia de lenguajes de programación de alto nivel y propósito general diseñados para facilitar su uso. La versión original fue creada por...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save