Différence entre JDO et l'objet de valeur

Anonim

JDO vs Value Object

JDO est une technologie de persistance Java qui peut être utilisée pour stocker POJO Plain Old Java Objects) dans des bases de données sans avoir besoin de comprendre les implémentations sous-jacentes de différents magasins de données. Objet de valeur (également appelé objet de transfert de données) est un modèle de dessin abstrait qui introduit le concept d'un simple détenteur de données dans le but de transférer des données entre plusieurs couches et niveaux.

Qu'est-ce que JDO?

JDO (Java Data Objects) fournit un mécanisme permettant d'assurer la persistance des objets Java et de l'accès aux bases de données. JDO est hautement transparent car il permet aux développeurs d'applications Java d'accéder aux données sous-jacentes sans devoir écrire de code spécifique aux bases de données. JDO peut être utilisé sur plusieurs niveaux, y compris Java Standard Edition, les serveurs Web et les serveurs d'applications. L'API JDO est une alternative aux autres objets Java tels que la sérialisation, JDBC (Java DataBase Connectivity) et EJB CMP (architecture d'entreprise JavaBeans). JDO utilise XML et l'amélioration de bytecode. Le principal avantage de l'utilisation de l'API JDO est qu'ils peuvent stocker des données sans avoir besoin d'apprendre un nouveau langage de requête tel que SQL (qui dépend du type de stockage des données). JDO est très facile à utiliser car les développeurs peuvent se concentrer uniquement sur leur modèle d'objet de domaine. Non seulement cela, JDO optimise le code par lui-même en fonction de l'accès aux données. Comme l'API JDO n'est pas stricte sur le type de magasin de données, la même interface peut être utilisée par les développeurs d'applications java pour stocker des objets java dans n'importe quel magasin de données, y compris une base de données relationnelle, une base de données d'objets ou un XML. JDO est hautement portable car la modification ou la recompilation n'est pas nécessaire pour fonctionner sur différentes implémentations de fournisseurs.

Qu'est-ce qu'un objet de valeur?

L'objet de valeur (DTO, Data Transfer Objects) est un modèle de conception abstraite simple qui traite d'un conteneur de données pour stocker des données dans le but de transférer des données entre des couches et des niveaux. Bien que le terme le plus précis pour ce modèle soit l'objet de transfert de données, en raison d'une erreur dans la première version de Core J2EE, il a été introduit en tant qu'objet de valeur. Bien que cette erreur ait été corrigée dans la 2ème édition, ce nom est devenu populaire et est encore largement utilisé au lieu d'objet de transfert de données (mais il convient de noter que le terme correct est Objet de transfert de données). Le modèle de conception DTO est utilisé avec les beans d'entité, JDBC et JDO pour résoudre les problèmes liés à l'isolation et aux transactions dans les applications d'entreprise. Il est important de noter que ce ne sont que des simples détenteurs de données utilisés pour transférer des données entre le client et la base de données et qu'ils ne fournissent aucune persistance de quelque sorte que ce soit.Le DTO a pour but d'agir en tant qu'objets sérialisables dans l'EJB traditionnel (les beans entité avant 3. 0 ne sont pas sérialisables). Dans une phase d'assemblage séparée définie par DTO, toutes les données utilisées par la vue sont acquises et marshales avant la libération du contrôle vers la couche de présentation.

Quelle est la différence entre JDO et Value Object?

JDO est en fait une technologie de persistance utilisée pour stocker des objets Java dans des bases de données, ce qui permet aux développeurs de gérer tous les détails du niveau d'implémentation et de permettre aux développeurs de se concentrer sur un codage non spécifique à une base de données. Mais l'objet Valeur représente un modèle de conception abstrait (pas une technologie) qui fournit un support de données générique connu sous le nom d'objet de transfert de données qui peut contenir des données dans le but de transférer entre le client et les bases de données. JDO fournit la possibilité de conserver les éléments de données, tandis que Value Object ne traite que de la conservation temporaire des données pendant la période de transfert des données. En d'autres termes, l'objet Value n'offre pas de persistance.