JDO vs Objeto de valor
JDO es una tecnología de persistencia de Java que se puede usar para almacenar POJO (objetos Java antiguos y sencillos) en bases de datos sin la necesidad de comprender las implementaciones subyacentes de diferentes almacenes de datos. El objeto de valor (también conocido como objeto de transferencia de datos) es un patrón de diseño abstracto que introduce el concepto de un titular de datos simple con el fin de transferir datos entre múltiples capas y niveles.
Que es jdo?
JDO (Objetos de datos Java) proporciona un mecanismo para entregar persistencia a los objetos Java y al acceso a la base de datos. JDO es altamente transparente porque permite a los desarrolladores de aplicaciones Java acceder a los datos subyacentes sin tener que escribir ningún código específico a las bases de datos. JDO se puede utilizar en varios niveles, incluyendo Java Standard Edition, Web-tier y servidores de aplicaciones. JDO API es una alternativa a otra persistencia (mantener objetos después del aborto del programa) de objetos Java como Serialization, JDBC (Java DataBase Connectivity) y EJB CMP (Enterprise JavaBeans architecture Container Managed Manchence). JDO utiliza XML y mejora de bytecode. La principal ventaja de utilizar la API de JDO es que pueden almacenar datos sin la necesidad de aprender un nuevo lenguaje de consulta, como SQL (que depende del tipo de almacenamiento de datos). JDO es muy fácil de usar, ya que los desarrolladores pueden centrarse solo en su modelo de objeto de dominio. No solo esto, JDO optimiza el código por sí mismo de acuerdo con el acceso a los datos. Debido a que la API de JDO no es estricta en cuanto al tipo de almacén de datos, los desarrolladores de aplicaciones java pueden usar la misma interfaz para almacenar objetos java en cualquier almacén de datos, incluida la base de datos relacional, la base de datos de objetos o un XML. JDO es altamente portátil porque la modificación o la recompilación no es necesaria para ejecutarse en diferentes implementaciones de proveedores.
¿Qué es el objeto de valor??
Objeto de valor también conocido como Objetos de transferencia de datos (DTO) es un patrón de diseño abstracto simple que trata con un contenedor de datos para almacenar datos con el propósito de transferir datos entre capas y niveles. Aunque el término más preciso para este patrón es el objeto de transferencia de datos, debido a un error en la primera versión del Core J2EE, se introdujo como objeto de valor. Aunque este error se corrigió en la segunda edición, este nombre se hizo popular y aún se usa mucho en lugar de Objeto de transferencia de datos (pero se debe tener en cuenta que el término correcto es Objeto de transferencia de datos). El patrón de diseño DTO se utiliza con beans de entidad, JDBC y JDO para rectificar los problemas que se producen con respecto al aislamiento y las transacciones en aplicaciones empresariales. Es importante tener en cuenta que estos solo son portadores de datos simples que se utilizan para transferir datos entre el cliente y la base de datos y no proporcionan persistencia de ningún tipo. DTO tiene el propósito de actuar como objetos serializables en un EJB tradicional (ya que los beans de entidad antes de 3.0 no son serializables). En una fase de ensamblaje separada definida por DTO, todos los datos utilizados por la vista se adquieren y calculan antes del lanzamiento del control a la capa de presentación..
¿Cuál es la diferencia entre JDO y Value Object??
JDO es en realidad una tecnología de persistencia utilizada para almacenar objetos Java en bases de datos que brinda comodidad a los desarrolladores al manejar todos los detalles del nivel de implementación y permitir que los desarrolladores se centren en la codificación no específica de la base de datos. Sin embargo, el Objeto de valor representa un patrón de diseño abstracto (no una tecnología) que proporciona un portador de datos genérico conocido como Objeto de transferencia de datos que puede contener datos con el fin de transferirlos entre el cliente y las bases de datos. JDO proporciona la facilidad de elementos de datos persistentes, mientras que Value Object solo se ocupa de mantener los datos temporalmente durante el período de transferencia de datos. En otras palabras, el Objeto de Valor no proporciona persistencia.