JDO vs objet de valeur
JDO est une technologie de persistance Java permettant de stocker des bases de données POJO (Plain Old Java Objects) dans des bases de données sans avoir à comprendre les implémentations sous-jacentes des différents magasins de données. L'objet de valeur (également appelé objet de transfert de données) est un modèle de conception abstrait qui introduit le concept d'un support de données simple 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 pour assurer la persistance des objets Java et des accès à la base 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 avoir à écrire de code spécifique aux bases de données. JDO peut être utilisé sur plusieurs niveaux, y compris Java Standard Edition, des serveurs Web et des serveurs d'applications. L'API JDO est une alternative à la persistance (conservation des objets après l'avortement du programme) d'objets Java tels que la sérialisation, JDBC (connectivité Java DataBase) et EJB CMP (architecture Persistance gérée par conteneur pour Enterprise JavaBeans). JDO utilise XML et l’amélioration du bytecode. L’avantage principal de l’utilisation des API JDO est qu’elles peuvent stocker des données sans avoir à 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. De plus, JDO optimise lui-même le code en fonction de l'accès aux données. Comme l'API JDO n'est pas stricte quant au type de magasin de données, les développeurs d'applications Java peuvent utiliser la même interface pour stocker des objets java dans tout magasin de données, y compris une base de données relationnelle, une base de données objet ou un fichier XML. JDO est hautement portable car la modification ou la recompilation n'est pas nécessaire pour s'exécuter sur des implémentations de fournisseurs différents.
Qu'est-ce qu'un objet de valeur??
L'objet de valeur, également appelé objet de transfert de données (DTO), est un modèle de conception abstrait simple qui utilise 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, il a été introduit en tant qu'objet de valeur en raison d'une erreur dans la première version de Core J2EE. Bien que cette erreur ait été corrigée dans la 2e édition, ce nom est devenu populaire et est encore largement utilisé à la place d'objet de transfert de données (il convient toutefois de noter que le terme correct est "objet de transfert de données"). Le modèle de conception DTO est utilisé avec les beans entity, 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 qu'il ne s'agit que de 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. DTO sert à servir d'objets sérialisables dans les EJB traditionnels (les beans entity antérieurs à la version 3.0 ne sont pas sérialisables). Dans une phase d'assemblage distincte définie par DTO, toutes les données utilisées par la vue sont acquises et marshalées avant la diffusion du contrôle dans la couche de présentation..
Quelle est la différence entre JDO et Value Object?
JDO est en réalité une technologie de persistance utilisée pour stocker des objets Java dans des bases de données, ce qui facilite la tâche des développeurs en gérant tous les détails du niveau d'implémentation et en permettant aux développeurs de se concentrer sur le codage non spécifique à la base de données. Cependant, l'objet de valeur représente un modèle de conception abstrait (et non une technologie) qui fournit un support de données générique appelé objet de transfert de données pouvant contenir des données à des fins de transfert entre le client et les bases de données. JDO offre la possibilité de conserver des éléments de données, tandis que Value Object s'occupe uniquement de conserver les données temporairement pendant la période de transfert de données. En d'autres termes, l'objet de valeur ne fournit pas de persistance.