Dans la programmation Java, chaque objet métier , comme un client , un ordre ou produit , est représenté par ce qu'on appelle un bean entité . Les programmeurs peuvent choisir entre deux types de beans entités , appelées gérée par conteneur grains de persistance et gérée par le bean haricots de persistance. La persistance est la propriété d'un langage de programmation qui permet aux objets et aux variables de continuer à exister d'une exécution d'un programme à l'autre. Non seulement les beans entité CMP nécessitent moins de programmation, mais aussi ils sont plus souples , plus portable et plus facile à entretenir que les beans entité BMP. Programmation
L'un des principaux avantages de beans entité CMP plus beans entité BMP est qu'elles nécessitent moins d'effort de la part du programmeur. Avec beans entité CMP , les programmeurs écrivent que la logique métier et laisser les autres aspects de ce qui est connu comme un conteneur EJB . Le conteneur EJB fournit un environnement d'exécution pour les beans entité CMP et des actes comme un intermédiaire entre la logique métier , écrit par le programmeur , et le reste de l'application . En conséquence , les applications écrites en utilisant beans entité CMP nécessitent moins de lignes de code de programmation que ceux écrits en utilisant les beans entité BMP , dans laquelle les programmeurs sont responsables de la rédaction persistance , gestion des relations et la logique métier .
Maintenance
un bean entité qui gère son propre persistance - en d'autres termes , un bean entité BMP - doit, par définition , contenir des méthodes d'accès aux données . Cela signifie que non seulement il n'y a plus de code de programme pour écrire en premier lieu , mais aussi plus de code à maintenir . Beans CMP , d'autre part , la logique métier distinct de détails de base de données physiques - l'accès aux données et le code de gestion est généré automatiquement lors du déploiement - et sont plus faciles à entretenir en raison
. flexibilité et Mobilité
beans entité BMP , les programmeurs doivent écrire des instructions de requête pour gérer la persistance basée sur la source de données cible. Les programmeurs doivent écrire structurés déclarations du langage de requête pour une base de données relationnelle spécifique - qui ne peut être porté sur d'autres bases de données relationnelles - et l'interrogation des états de langage objet pour une base de données de l'objet. Avec beans entité CMP , d'autre part , les applications peuvent être déployées avec un outil de déploiement flexibles , ce qui génère des états de requête appropriée quel que soit le type de source de données.
Performance
Les programmeurs n'ont pas besoin d' apprendre interfaces de programmation d'applications spécifiques à n'importe quelle source de données pour générer du code optimisé à haute performance en utilisant beans entité CMP . Optimisation du code consiste simplement à traduire EJB déclarations du langage de requête dans les appels d'API natives et peut être effectuée automatiquement par un outil de déploiement , avec des niveaux élevés de succès. Avec les beans entité BMP , les programmeurs ont besoin d'écrire du code optimisé pour une base de données particulière eux-mêmes , donc besoin de connaissances d'experts de cette base de données.