JDO vs objet de valeur
JDO est une technologie de persistance Java qui peut être utilisée pour stocker des POJO (Plain Old Java Objects) dans des bases de données sans avoir besoin de comprendre les implémentations sous-jacentes des différents magasins de données. L'objet de valeur (également connu sous le nom d'objet de transfert de données) est un modèle de conception 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 pour assurer la persistance des objets Java et l'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, notamment Java Standard Edition, le niveau Web et les serveurs d'applications. L'API JDO est une alternative aux autres persistances (conservation des objets après l'arrêt du programme) des objets Java tels que Serialization, JDBC (Java DataBase Connectivity) et EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO utilise XML et l'amélioration du 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 de 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 le code par lui-même en fonction de l'accès aux données. Étant donné que 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 aucune modification ou recompilation n'est nécessaire pour s'exécuter sur différentes implémentations de fournisseurs.
Qu'est-ce qu'un objet de valeur ?
Value Object également connu sous le nom d'objets de transfert de données (DTO) est un modèle de conception abstrait 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 2e édition, ce nom est devenu populaire et est toujours largement utilisé à la place de Data Transfer Object (mais il convient de noter que le terme correct est Data Transfer Object). Le modèle de conception DTO est utilisé avec les beans entité, JDBC et JDO pour corriger 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 supports 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 sorte de persistance. DTO a pour but d'agir en tant qu'objets sérialisables dans les EJB traditionnels (en tant que beans entité avant 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 rassemblées avant la publication du contrôle sur 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 est pratique pour les développeurs en gérant tous les détails du niveau d'implémentation et en permettant aux développeurs de se concentrer sur un codage non spécifique à la base de données. Mais, l'objet de 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 les transférer 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 ne traite que de la conservation temporaire des données pendant la période de transfert de données. En d'autres termes, Value Object ne fournit pas de persistance.