Instructions: Conception des beans entity
Ces instructions portent sur la conception des beans entity (EJB) d'une application J2EE.
Relations
Eléments connexes
Description principale

Introduction

Ces instructions portent sur la conception des beans entity. Des conseils supplémentaires concernant entre autres l'identification et la modélisation des beans entity figurent dans Instructions relatives au produit : Beans entity. Des conseils généraux sur les EJB figurent dans Instructions relatives au produit : Enterprise JavaBeans (EJB).

Attributs persistants et clé primaire

Identification des attributs persistants et de la clé primaire du bean entity.

Persistance gérée par le bean (BMP) et Persistance gérée par conteneur (CMP)

Voir Concept : Présentation de la plateforme J2EE pour la description de ces deux approches sur la persistance.

En général, la persistance gérée par conteneur requiert un code moindre et plus simple que la persistance gérée par le bean. Cependant, si les performances sont critiques et qu'il faut contrôler davantage le mappage de la logique à la base de données, vous pouvez utiliser la persistance gérée par le bean.

Si le niveau de prise en charge de votre conteneur d'EJB n'est pas celui dont vous avez besoin, vous pouvez songer à utiliser un tiers, l'outil de mappage objet-relationnel, avec la persistance gérée par le bean ou, si l'outil est intégré dans votre conteneur, avec la persistance gérée par conteneur.

Si vous optez pour la persistance gérée par conteneur et qu'il existe un Modèle de données, vous pouvez mapper l'EJB entity CMP aux tables dans ce modèle. Ce mappage se reflétera finalement dans le descripteur de déploiement des modules EJB. Pour plus d'informations, reportez-vous à Technique : Assemblage de modules J2EE.

Si vous optez pour la persistance gérée par le bean, vous devez encapsuler tous les accès à la base de données dans une classe DAO (Data Access Object). Il s'agit simplement d'une classe Java qui masque et encapsule le mécanisme de stockage sous-jacent et isole les changements lorsque/si l'interface de la source de données change. Même si la source de données est supposée toujours être un SGDB relationnel (système de gestion de base de données relationnelle), il peut y avoir quelques petites différences de syntaxe SQL et de format qui vont tirer partie de l'isolement dans une classe DAO. Voir Core J2EE Patterns - Data Access Object Pattern ([ALU01].