Mise à jour des données du service DMS EJB
Une requête de médiateur d'EJB (JavaBeans) est une requête d'EJB composée. La méthode applyChanges permet de réinscrire dans la source de données un graphique de données mis à jour.
La mise à jour peut être appliquée directement à la source de données ou via des instances d'EJB.
Lorsque vous passez par des instances d'EJB, vous pouvez spécifier une classe adaptateur dans la méthode applyChanges. Chaque objet de données modifié est d'abord transmis à la méthode d'adaptateur applyChange. L'adaptateur peut traiter lui-même la modification et renvoyer la valeur true ou renvoyer la valeur false pour que le médiateur d'EJB la traite.
L'adaptateur permet de personnaliser la logique de concurrence optimiste (OCC) et de traiter les modifications des attributs en lecture seule du datagraphe ainsi que celles nécessitant une logique métier.
Il existe deux formes de méthode applyChanges. La première, applyChanges( DataObject) prend le datagraphe mis à jour et exécute des instructions SQL d'insertion, de mise à jour et de suppression directement sur la base de données, en ignorant le conteneur d'EJB. La seconde, applyChanges( DataObject, MediatorAdapter ) traite les mises à jour à l'aide de méthodes d'accès et d'instances d'EJB. L'adaptateur de médiateur MediatorAdapter accepte une valeur nulle.
Quand utiliser un adaptateur avec applyChanges
- Lorsqu'il existe d'autres méthodes de création que create(PrimaryKey)
- Lorsque des méthodes métier doivent être appelées à la place des méthodes setter CMP
- Lorsqu'une logique spéciale de mise en cache optimiste est nécessaire
Description de l'adaptateur
- Transmission des objets de données nouveaux. L'adaptateur peut créer l'objet et définir les zones CMP. Les relations gérées par conteneur (CMR) faisant référence à des beans enterprise qui n'ont pas encore été créés sont différées jusqu'à la passe 2.
- Transmission des objets de données nouveaux et mis à jour. Les relations gérées par conteneur différées à la passe 1 sont définies à ce stade.
- Transmission des objets de données supprimés.