des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Exemple du bean entité bank<br />
bank en implémente une. La méthode create() insère un nouvel objet bean<br />
entité dans la base de données sous-jacente. Si vous aviez choisi de<br />
déléguer la création <strong>des</strong> nouveaux objets entité au SGBDR ou à une autre<br />
application, vous ne définiriez pas de méthode create().<br />
La méthode create() nécessite deux paramètres, une chaîne pour le nom<br />
du compte et le montant du solde. L’implémentation de cette méthode<br />
dans la classe du bean entité utilise deux valeurs de paramètres pour<br />
initialiser l’état de l’objet entité — le nom du compte et le solde initial —<br />
lorsqu’elle crée un nouvel objet. La clause throws d’une méthode create()<br />
doit inclure java.rmi.RemoteException et java.ejb.CreateException. Elle doit<br />
également inclure les autres exceptions spécifiques à l’application.<br />
Les <strong>beans</strong> entité doivent posséder la méthode findByPrimaryKey(),<br />
l’interface AccountHome déclare donc cette méthode. Elle prend un<br />
paramètre, la classe clé primaire AccountPK, et renvoie une référence sur<br />
l’interface distante Account. Cette méthode trouve une entité compte<br />
particulière et renvoie une référence vers elle.<br />
Bien que cela ne soit pas obligatoire, l’interface locale déclare une seconde<br />
méthode find, findAccountsLargerThan(). Cette méthode renvoie un objet<br />
Java Enumeration contenant tous les comptes dont le solde est supérieur à<br />
un certain montant.<br />
L’interface distante d’un bean entité<br />
Plusieurs <strong>beans</strong> entité peuvent utiliser la même interface distante, même<br />
lorsqu’ils gèrent leur persistance différemment. Les deux <strong>beans</strong> entité de<br />
l’exemple bank utilisent la même interface distante Account.<br />
L’interface distante étend l’interface javax.ejb.EJBObject et expose les<br />
métho<strong>des</strong> métier accessibles aux clients. Voici le code :<br />
public interface Account extends javax.ejb.EJBObject {<br />
public float getBalance() throws java.rmi.RemoteException;<br />
public void credit(float amount) throws java.rmi.RemoteException;<br />
public void debit(float amount) throws java.rmi.RemoteException;<br />
}<br />
Un bean entité dont la persistance est gérée par le<br />
conteneur<br />
L’exemple bank implémente un bean entité CheckingAccount qui illustre<br />
l’utilisation de la persistance gérée par le conteneur. Sur de nombreux<br />
points, cette implémentation ressemble à l’implémentation d’un bean<br />
10-12 Guide du dé veloppeur Enterprise JavaBeans