Institut Supérieur De Gestion De Tunis cours AJEE
3
ème
LFIG BAYOUDHI Chaouki
3
données Derby nommée ExempleDB. Elle se connecte à cette base sous le compte
utilisateur Chaouki avec le mot de passe Bayoudhi.
Le marqueur <class> demande au fournisseur de persistance de gérer la classe Livre.
Pour que ce code fonctionne, le SGBDR Derby doit s’exécuter sur le port 1527 et les
classes Livre et Main doivent avoir été compilées et déployées avec ce fichier META-
INF/persistence.xml.
Grâce à l’API d’EntityManager, notre code manipule des objets de façon orientée
objet, sans instructions SQL ni appel JDBC.
III. L’EJB ejbLivre :
Le code ci-dessous représente un bean de session sans état. Ce dernier obtient par
injection une référence à un gestionnaire d’entités grâce auquel il peut rendre
persistante une entité Livre
(avec la méthode
CreerLivre()
)
et récupérer tous les
livres de la base (avec la requête nommée
trouverTousLesLivres
).
Cet EJB n’a besoin
d’aucun descripteur de déploiement.
L’EJB sans
état
créant
et
récupérant des
Iivres :
@Stateless
public class ejbLivre {
@PersistenceContext(unitName = "chapter10PU")
private EntityManager em;
public List<Livre> recupererLivres() {
//exécute la requête nommée déjà déclarée dans l’entité
Query req = em.CreerNamedQuery("trouverTousLesLivres");
return req.getResultList();
}
public Livre AjoutLivre(Livre unLivre) {
//enregistre le livre dans la base
em.persist(unLivre);
return unLivre;
}
}
IV. Le bean géré ControleurLivre :
L’un des rôles d’un bean géré consiste à interagir avec les autres couches de
l’application (la couche EJB, par exemple) ou à effectuer des validations. Dans le
code du
ControleurLivre
(le bean géré) il faut ajouter l’annotation
@ManagedBean
.
Ce bean géré contient deux attributs qui seront utilisés par les
pages :
lstLivres
est la liste des livres récupérés à partir de la base de données,
qui doit s’afficher dans la page
AfficherLivres.xhtml
.
unLivre
est l’objet qui sera associé au formulaire (dans la page
AjoutLivre.xhtml
)
et rendu persistant.