Avec Objis, spécialiste formation JPA , mettez en œuvre la spécification JPA (JSR 317) en utilisant Hibernate comme fournisseur de persistence. Créez votre première entité JPA (Formation.java). Configurez hibernate à travers le fichier persistence.xml. Utilisez les objets EntitiManagerFactory, EntityManager et Transaction afin de créer un enregistrement en base de donnée à partir d’un objet Formation instancié. Enfin, mettez en évidence la souplesse de JPA en remplaçant Hibernate par EclipseLink comme fournisseur de persistance.
Ce tutoriel est extrait de séances pratiques de la formation HIBERNATE dispensée par Objis.
Prérequis, outils et versions
Liens utiles
Présentation JPA
Tutoriaux JPA Objis
Objis, spécialiste formation java depuis 2005
Objectifs
Voir JPA core en action dans une application java simple
Comprendre les étapes de création d’un projet JPA
Comprendre comment rendre une classe Java persistante par JPA
Comprendre les classes & interfaces EntitiManagerFactory, EntitiManager, EntityTransaction
Comprendre le fichier de configuration de JPA: persistence.xml
Programme
Introduction : la spécification JPA
Partie 1 : Préparation Base de données MySQL
Partie 2 : Création projet ‘demojpa’
Partie 3 : installation jpa/hibernate (fichier config, librairies)
Partie 4 : JPA/Hibernate en action
Partie 5 : Vérification enregistrement DB
Partie 6 : changement de fournisseur de persistance (EclipseLink)
Durée
45 min.
Méthodologie
Domaine métier
Configuration JPA/hibernate
Démarrer la base de données
Lancer le programme
Vérification base de données
Introduction : comprendra la spécification JPA
QUESTION : qu’est ce que JPA ?
QUESTION : qu’est ce que HIBERNATE ?
QUESTION : Qu’est ce que EclipseLink ?
Analysez les documents disponibles à l’URL suivante : http://download.oracle.com/otndocs/jcp/persistence-2.0-fr-eval-oth-JSpec/
Expliquez.
QUESTION : quelle est la dernière version de la spécification JPA ? à quelle JSR correspond cette version ?
Partie 1 : Préparation Base de données
Créez dans le serveur Mysql une base de données nommée demojpa
Partie 2 : Création projet hibernate
Créez un projet eclipse Java standard nommé ‘demojpahibernate’
Partie 3 : Configuration JPA/Hibernate
Librairies
Créez un répertoire ‘lib’ dans le projet ‘demojpa’
Nous allons mettre dans ce répertoire les librairies du fournisseur JPA que nous allons choisir, ici Hibernate.
Téléchargez la dernière version stable du framework Hibernate (ici la 4.3.10.FINAL)
Vous obtenez un fichier zip .
Dézippez le fichier téléchargé.
Le répertoire ‘lib’ contient les jars nécessaires à notre projet :
1) les jars ’obligatoires’ d’hibernate présents dans lib/required
2) le jar ‘hibernate-entitymanager-4.3.10.Final.jar‘ présent dans le répertoire lib/jpa du zip hibernate
3) Le jar de Log4j , récupéré à partir du zip de Log4j téléchargé sur le site log4j (prendre le jar log4j-1.2-api-2.3.jar)
4) le jar contenant le driver base de données (ici MySQL)
Ajoutez toutes ces librairies dans le Classpath Eclipse.
fichier de configuration : persistence.xml
Analysez le code du fichier META-INF/persistence.xml
Expliquez
Classe persistante
Analysez le code de la classe Formation.java
Expliquez.
Partie 4 : JPA en action
Classe principale et mise en œuvre persistance
Analysez les 6 étapes de la mise en œuvre de la sauvegarde en base d’une objet Formation Hibernate.
Exécutez la classe principale de l’aplication DemoHibernate (Click droit puis Run->run as Java Application).
Que se passe t’il ?
Partie 5 : Vérification enregistrement DB
L’enregistrement a bien été créé. Merci JPA/Hibernate.
Partie 6 : changement de fournisseur de persistance
Changez de fournisseur de persistance : utilisez EclipseLink, immplémentation de référence JPA2, en lieu et place de Hibernate.
Quels impacts sur le code ? Sur la configuration du projet ?
Correction
projet Eclipse final
Le projet Eclipse est le suivant :
Mavenisation
Proposer une version mavenisée de ce projet :
créer avec Eclipse un projet Maven type ‘quickstart’ (java simple)
Ajouter les sources dans srcmainjava
Ajouter le répertoire META-INF dans srcmainresources
Ajouter les dépendances Hibernate 4.3.11 et Mysql
Ajouter le plugin exec pour pouvoir lancer le projet en ligne de commande
Voici à quoi ressemble le projet :
TELECHARGEZ le projet :
Pour lancer : taper : mvn exec:java
Expliquez.
Conclusion
Dans ce tutoriel, vous avez vu JPA à l’œuvre : après avoir instancié un objet, vous avez rendu cet objet persistant en base de données, dans un enregistrement.