Transcript Hibernate
Hibernate
Travail élaboré par
Ben Arfa Rym
Hammouda Moufid
Mejri Imen
Mouelhi Emna
Othman Nouha
Année universitaire: 2012 / 2013
Plan
I. Présentation
II. Intérêts
III. Installation et plugin
IV. Interfaçage avec l’IDE Eclipse
V. Exemple
VI. Conclusion
2
I. Présentation
• Hibernate est un framework de mapping objet-relationnel ou
de persistance objet de données.
Framework???
• Un Framework est un ensemble de composants qui servent à
créer l'architecture et les grandes lignes d'une application.
• Vous pouvez le voir comme une boîte à outils géante, conçue
par un ou plusieurs développeurs et mise à disposition
d'autres développeurs, afin de faciliter leur travail.
3
II. Intérêts 1/4
• Avantage1 : Hibernate génère le code SQL pour vous.
Pas de requête SQL à écrire
Pas d’Objet ResultSet à gérer : cycle récupération
manuelle ResultSet + Casting de chaque ligne du
resultset (type Object) vers un type d’objet métier .
Application plus portable. S’adapte à la base de
données cible
4
II. Intérêts 2/4
• Avantage 2 : persistance transparente.
Vous pouvez faire de vos classes métiers des classes
persistantes sans ajout de code tiers. C’est là une
différence forte et fondamentale vis à vis de EJB2.x qui
étaient utilisées dans les années de création
d’Hibernate.
Cette différence n’est plus d’actualité avec les EJB3,
dont les Spécifications(JSR-220) ont été écrite avec la
collaboration de Gavin King et l’équipe d’Hibernate.
5
II. Intérêts 3/4
• Avantage 3 : récupération de données optimisée.
Hibernate fournit plusieurs stratégies pour interroger la base
de données. Requête SQL, langage HQL ou Api Criteria, avec des
options de fetching et de mise en cache sophistiquées.
6
II. Intérêts 4/4
• Avantage 4 : portabilité du code si changement de base
de données.
Hibernate vous permet de changer de base de données cible
(ex : remplacer SQL Server par PostGresql) en modifiant un
minimum de paramètres de configuration (comme le Dialect).
Quand on sait que de nombreux programme codent ’en dur’
des requêtes SQL dans le code, celui ci est souvent spécifique à
une base de données...
7
III. Installation et plugin 1/2
Installation de Hibernate Synchronizer
8
III. Installation et plugin 2/2
• Sous l’onglet « Available Software », cliquez sur « Add site »
• Entrez l’url suivant :
« http://hibernatesynch.sourceforge.net »
puis appuyez sur « OK »
• Sélectionnez Hibernate Synchroniser puis « install »
9
III. Interfaçage avec l’IDE Eclipse 1/4
Hibernate a besoin de plusieurs éléments pour
fonctionner :
_ une classe de type JavaBean qui
encapsule les données d'une
occurrence de’une table, ce
sont les classes persistantes.
_ un fichier de mapping qui
configure la correspondance
entre la classe et la table
_ un fichier de configuration
contenant des informations
concernant la connexion à la
base de données.
10
III. Interfaçage avec l’IDE Eclipse 2/4
Bean
Entity: Ce sont les EJBs des classes java persistantes,
contiennent les methodes Getter et Setter.
hbm.xml : Ce sont les fichiers de mappings utilisées par
hibernate.
NB (A partir de la version 3 de
Hibernate nous pouvons utiliser les
annotations au lieu des fichiers hbm )
11
III. Interfaçage avec l’IDE Eclipse 3/4
Fichier de configuration
Pour configurer Hibernate, nous utilisons un fichier XML
appelée, hibernate.cfg.xml.
Cette configuration peut également être effectuée par un
fichier hibernate.properties.
Dans ce fichier, nous spécifions la base de données, le pilote,
l'url de connexion, l'utilisateur et le mot de passe.
12
III. Interfaçage avec l’IDE Eclipse 4/4
Fichier mapping:
Dans la couche de Persistance Hibernate implémente la sous couche DAO
Design Pattern DAO
Le pattern DAO (Data Access Object) permet de faire le lien entre la
couche métier et la couche persistante, afin de centraliser les mécanismes
de mapping entre notre système de stockage et nos objets Java.
La couche persistante correspond, en fait, à notre système de stockage et la
couche métier correspond à nos objets Java, mappées sur notre base.
Le pattern DAO consiste à ajouter un ensemble d'objets dont le rôle sera de :
_ Ecrire.
_ Lire.
_ Modifier.
_ Supprimer.
Dans notre système de stockage.,Cet ensemble d'objet s'appelle la couche DAO
13
III. Exemple 1/7
1. Création de la base de données
14
III. Exemple 2/7
2.1 Création et préparation du projet
15
III. Exemple 3/7
2.2 Ajouter au classpath du projet les librairies
16
III. Exemple 4/7
3.1 Création des éléments de Hibernate
Le fichier hibernate.cfg.xml est généré
17
III. Exemple 5/7
3.2 Fichier de mapping
Le fichier Etudiant.hbm.xml est généré
18
III. Exemple 6/7
4. Test des classes
4.1 Classe HibernateSessionFactory
Une classe Hibernate appellée
SessionFactory permet à partir
du fichier de configuration
(hibernate.cfg.xml) d'être
associé à la source de données.
Elle fournit des objets Session
pour manipuler les données.
Nous allons, pour celà, écrire
une classe trouvée dans l'aide
en ligne d'Hibernate.org.
19
III. Exemple 7/7
4. Test des classes
4.1 Classe EtudiantDAO.java
Nous allons maintenant
créer une classe pour les
tests.
Nous allons d’abord créer
2 étudiants, l’enregistrer
dans la base de données
puis les afficher .
20
III. Conclusion
La persistance des objets dans une base de données
relationnelle est très difficile à faire , ainsi, des
techniques de mapping ont vu le jour pour faciliter la
programmation, et l'un d'entre eux, le plus aboutit,
est Hibernate
21
22