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 de différents magasins de données. Value Object (également connu sous le nom d'objet de transfert de données) est un modèle de conception abstraite qui introduit le concept d'un simple support 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 fournir la persistance aux objets Java et l'accès aux bases de données. JDO est très 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 à d'autres persistance (conservation des objets après l'interruption du programme) des objets Java tels que la sérialisation, JDBC (Java DataBase Connectivity) et EJB CMP (architecture Enterprise JavaBeans 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. Non seulement cela, 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 la modification ou la recompilation n'est pas nécessaire pour s'exécuter sur différentes implémentations de fournisseurs. JDO est hautement portable car la modification ou la recompilation n'est pas nécessaire pour s'exécuter sur différentes implémentations de fournisseurs. JDO est hautement portable car la modification ou la recompilation n'est pas nécessaire pour s'exécuter sur différentes implémentations de fournisseurs.
Qu'est-ce qu'un objet de valeur?
Objet de valeur également connu sous le nom d'objets de transfert de données (DTO) est un modèle de conception abstraite simple qui traite d'un conteneur de données pour contenir des données dans le but de transférer des données entre les couches et les 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é à 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 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 supports de données utilisés pour transférer des données entre le client et la base de données et qu'ils n'offrent aucune persistance. DTO sert à agir comme des objets sérialisables dans les EJB traditionnels (car les beans entité 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 rassemblées 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 offre une commodité aux 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. Mais, l'objet de valeur représente un modèle de conception abstraite (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 à 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 ne traite que de conserver les données temporairement pendant la période de transfert de données. En d'autres termes, Value Object ne fournit pas de persistance.