Présentation Hibernate issue de la formation J2EE réalisée par le club CFEM ( club futur entrepreneur en multimédia) au sein de l'institut supérieur d'informatique et multimédia de sfax (ISIMS)
3. Persistance : problématique
Les systèmes de gestion de bases de données relationnels (SGBDR)
sont devenus un pilier incontournable dans le développement
d’applications vu le niveau de fiabilité et de performances des SGBDR.
J2EE, se base sur la technologie orientée objet. Celle-ci permet aux
applications d’atteindre un niveau de qualité et de flexibilité nettement
supérieur à ceux d’une modélisation relationnelle.
comment stocker les objets modélisés dans les SGBDR ??.
On parle ainsi de persistance d’objets métiers.
3/18
4. Persistance : solutions
Développer manuellement le code de projection des objets sur le
support relationnel.
Utiliser une couche logicielle spécialisée de projection objet-relationnel :
Oracle9iAS TopLink, Hibernate, Ibatis….
Ce type de logiciels permet de réduire jusqu’à 80% le
temps de développement du code d’accès à la base de
données, tout en bénéficiant des avantages des
technologies objet et en conservant la compatibilité avec
les SGBDR existants.
4/18
5. Persistance transparente
Permet de masquer au développeur les mécanismes de
transformation entre l’objet en mémoire et sa représentation
sur le support de stockage (base de données relationnelle
ou autre).
Le développeur n’a pas à se préoccuper de la logique de
persistance des objets métier au sein de ses applications.
Les mécanismes de persistance étant transparents, et
indépendants du support de persistance, aucun code
technique ne vient polluer le code métier des applications.
5/18
6. Hibernate : Définition
Hibernate est :
un framework de mapping Objet/Relationnel pour applications
JAVA (et .NET avec Nhibernate).
Hibernate permet de créer une couche d’accès aux données
(DAO) plus modulaire, plus maintenable, plus performante
qu’une couche d’accès aux données ’classique’ reposant sur
l’API JDBC.
une solution de gestion de persistance ou couche de
persistance.
6/18
7. Hibernate: avantages
hibernate génère automatiquement le code SQL.
Application plus portable. S’adapte à la base de données
cible.
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.
7/18
8. Hibernate : Architecture
L’application dispose d’objets,
dont la persistance est gérée
par Hibernate.
Le fichier properties ( ou
hibernate.cfg.xml) contient Décrire la correspondance
les paramètres de entre la base de données et
configuration d’Hibernate les objets de l’application.
8/18
9. Hibernate : configuration
Le fichier hibernate.cfg.xml regroupe toutes les informations
concernant les classes persistantes et les paramétres de
connexion à la base de données.
9/18
11. Mapping : Définition
consiste à décrire une correspondance entre un schéma de
base de données et un modèle de classes pour assurer la
persistance de l’état des objets. Pour cela, on utilise :
des fichiers de mapping XML .
les annotations de Java Persistence
11/18
13. Mapping : définition de la classe
nom de classe entièrement
qualifié pour la classe ou
l’interface persistante.
nom de la table en base de
données.
13/18
14. Mapping : mapping de
l’identifiant
nom de la propriété
d’identifiant.
nom indiquant le type de la
propriété.
nom de la colonne de la clé
primaire.
Mode de génération de la
clé primaire.
14/18
15. Mapping : mapping d’un attribut
nom de la propriété, l’initiale
étant en minuscule
( conventions Java-Bean).
nom de la colonne de base
de données mappée.
nom indiquant le type
Hibernate.
par défaut true : spécifie que
les colonnes mappées doivent
être incluses dans l’ordre SQL
UPDATE ou INSERT.
15/18
16. Mapping : mapping des relations
nom de la propriété, l’initiale
étant en minuscule .
nom de la colonne de base
de données mappée.
nom de la classe associée.
contrainte unique pour la
colonne.
16/18
17. Mapping : mapping des relations
nom de la propriété, l’initiale
étant en minuscule .
nom de la classe associée.
17/18