TD JPA1 Groupe BD-JAVA: 8/01/2010 INSTALLATION, CRÉATION ET DÉMARRAGE DE POSTGRESQL 1. Installation (il faut être root) : yum install postgres* 2. Changement du mot de passe postgres : passwd postgres 3. Authentification postgres : su -l postgres 4. Création d'un cluster : initdb moncluster 5. Lancement du cluster avec support de TCP-IP : postmaster -i -D moncluster & 6. Création d'une base de données : createdb mabase 7. Connexion en mode texte à la base : psql mabase 8. Dans l'environnement psql : \d pour lister les tables 9. Dans l'environnement psql : \d matable pour lister les caractéristiques d'une table 10. Dans l'environnement psql : toutes les requêtes SQL2 sont possibles 11. Pour quitter psql : \q CRÉATION D'UN PROJET JPA SOUS ECLIPSE 1. Création d'un projet JAVA (perspective JAVA) 2. Attachement d'une librairie de type utilisateur : 1. clic droit sur le nom du projet 2. Menu properties 3. Menu Build Path 4. Onglet libraries 5. Bouton Add Library... 6. Choix User Library 7. Bouton Next 8. Bouton User Library 9. Bouton New 10. Saisir le nom de la librairie par exemple jpalibs 11. Bouton add JARs... 12. Ajouter toutes les librairies (fichiers .jar) contenues dans les 3 paquetages HIBERNATE 13. Attention il y a des .jar à la racine des paquetages et dans leur répertoire /lib 14. Il faut ajouter les 2 fichiers .jar : log4j.jar et slf4j-log4j12.jar (ils sont dans le lib/test du paquetage des annotations) 15. Il faut ajouter le driver JDBC pour POSTGRESQL à part comme simple librairie : onglet libraries et bouton add External jars 16. Les driver JDBC pour POSTGRESQL sont sous : /usr/share/java 17. Choisir postgresql-jdbc-8.3.6.03.jar JJLC 1/3 CRÉATION DE LA CLASSE PERSISTANTE 1. C'est une classe POJO classique (donc WIZARD habituel) 2. Il faut ensuite l'annoter @Entity @Table(name="TABETU") public class Etudiant { public Etudiant(String nom, String prenom) { super(); this.nom = nom; this.prenom = prenom; } public Etudiant() { super(); } private private private private int idnum; String nom; String prenom; String informations; @Id @GeneratedValue public int getIdnum() { return idnum; } public void setIdnum(int idnum) { this.idnum = idnum; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getPrenom() { return prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } @Transient public String getInformations() { return informations; } public void initInformations() { informations = idnum +" "+nom+" "+prenom; } } JJLC 2/3 LE FICHIER TECHNIQUE persistence.xml 1. Se reporter au fichier sous e-campus TEST DE L'APPLICATION 1. se reporter aux classes sous e-campus JJLC 3/3