Composants et Services Logiciels 23/11/10 TP4 : Java Persistence API (JPA) Objectif : vous familiariser avec les beans Entité à travers une base de données de gestion de notes. La BD contient une table Etudiant, une table Matière et une table Note. 1. Créez la base de données « Notes » en utilisant le SGBD Derby fourni avec Glassfish. Pour cela, aller dans l'onglet Services → Databases → Java DB et cliquez bouton droit dessus « Create Database ». Normalement elle doit apparaître juste en dessous ensuite. 2. Complétez le script createNotes.sql (qui se trouve sur le WebCampus) pour vous ajouter comme étudiant et ajoutez aussi quelques notes vous concernant. Executez le script createNotes.sql pour créer les tables. Pour cela cliquer bouton droit sur la connexion à votre base, « Execute command » et coller votre script SQL. Faire un « Refresh » de votre base pour les voir apparaitre. 3. Créez le pool de connexion « NotesPool » sur le serveur. Attention il faut remplir la propriété « DatabaseName », « User » et « Password ». Supprimer la propriété « SecurityMechanism » si elle est renseignée. Faites un « ping » sur le pool pour s'assurer qu'il est bien configuré puis créez la ressource JBDC « jdbc/notes » qui référence le pool. 4. Créer un module EJB « NotesDBBeans ». • Générez les « Entity Class » pour chaque table de la BD dans un package tp4.bd. Pour cela allez dans « Persistance » → « Entity Classes from Database ». • Générez un Stateless Session Bean permettant d'interroger la base (« EtudiantManager ») dans un package tp4.beans. Ce bean proposera un service permettant de récupérer les valeurs des notes d'un étudiant en fonction de son login. Attention il faut une interface Remote. 5. Créez le client J2SE « NotesClient » permettant de tester le service. Ne Pas oublier le jar « gfclient.jar ». Exemple de code pour utiliser un objet de la base : @PersistenceContext(unitName = "Notes") EntityManager _em ; Etudiant etudiant = _em.find(Etudiant.class, login);