Vous êtes sur la page 1sur 18

Dveloppement

des applications web


avec J2EE
Ralis par:
Jihed DGHAIES
Copyright club CFEM 2010

Persistence et Hibernate

Programme

Persistence

Hibernate

Mapping

2/18

Persistance : problmatique
Les systmes de gestion de bases de donnes relationnels (SGBDR)
sont devenus un pilier incontournable dans le dveloppement
dapplications vu le niveau de fiabilit et de performances des SGBDR.

J2EE, se base sur la technologie oriente objet. Celle-ci permet aux


applications datteindre un niveau de qualit et de flexibilit nettement
suprieur ceux dune modlisation relationnelle.
comment stocker les objets modliss dans les SGBDR ??.

On parle ainsi de persistance dobjets mtiers.


3/18

Persistance : solutions
Dvelopper manuellement le code de projection des objets sur le
support relationnel.

Utiliser une couche logicielle spcialise de projection objet-relationnel :


Oracle9iAS TopLink, Hibernate, Ibatis.

Ce type de logiciels permet de rduire jusqu 80% le


temps de dveloppement du code daccs la base de
donnes, tout en bnficiant des avantages des
technologies objet et en conservant la compatibilit avec
les SGBDR existants.

4/18

Persistance transparente

Permet de masquer au dveloppeur les mcanismes de


transformation entre lobjet en mmoire et sa reprsentation
sur le support de stockage (base de donnes relationnelle
ou autre).

Le dveloppeur na pas se proccuper de la logique de


persistance des objets mtier au sein de ses applications.
Les mcanismes de persistance tant transparents, et
indpendants du support de persistance, aucun code
technique ne vient polluer le code mtier des applications.

5/18

Hibernate : Dfinition
Hibernate est :
un framework de mapping Objet/Relationnel pour applications
JAVA (et .NET avec Nhibernate).
Hibernate permet de crer une couche daccs aux donnes
(DAO) plus modulaire, plus maintenable, plus performante
quune couche daccs aux donnes classique reposant sur
lAPI JDBC.

une solution de gestion de persistance ou couche de


persistance.

6/18

Hibernate: avantages

hibernate gnre automatiquement le code SQL.


Application plus portable. Sadapte la base de donnes
cible.

rcupration de donnes optimise.


Hibernate fournit plusieurs stratgies pour interroger la base
de donnes. Requte SQL, langage HQL ou Api Criteria,
avec des options de fetching et de mise en cache
sophistiques.

7/18

Hibernate : Architecture
Lapplication dispose dobjets,
dont la persistance est gre
par Hibernate.

Le fichier properties ( ou
hibernate.cfg.xml) contient
les paramtres de
configuration dHibernate

Dcrire la correspondance
entre la base de donnes et
les objets de lapplication.

8/18

Hibernate : configuration
Le fichier hibernate.cfg.xml regroupe toutes les informations
concernant les classes persistantes et les paramtres de
connexion la base de donnes.

9/18

Classe persistance

10/18

Mapping : Dfinition
consiste dcrire une correspondance entre un schma de
base de donnes et un modle de classes pour assurer la
persistance de ltat des objets. Pour cela, on utilise :

des fichiers de mapping XML .

les annotations de Java Persistence

11/18

Mapping : Structure Fichier

12/18

Mapping : dfinition de la classe


nom de classe entirement
qualifi pour la classe ou
linterface persistante.
nom de la table en base de
donnes.

13/18

Mapping : mapping de
lidentifiant
nom de la proprit
didentifiant.

nom indiquant le type de la


proprit.
nom de la colonne de la cl
primaire.

Mode de gnration de la
cl primaire.

14/18

Mapping : mapping dun attribut


nom de la proprit, linitiale
tant en minuscule

( conventions Java-Bean).
nom de la colonne de base
de donnes mappe.

nom indiquant le type


Hibernate.

par dfaut true : spcifie que


les colonnes mappes doivent
tre incluses dans lordre SQL
UPDATE ou INSERT.
15/18

Mapping : mapping des relations


nom de la proprit, linitiale
tant en minuscule .

nom de la colonne de base


de donnes mappe.
nom de la classe associe.

contrainte unique pour la


colonne.

16/18

Mapping : mapping des relations

nom de la proprit, linitiale


tant en minuscule .

nom de la classe associe.

17/18

Fichier de mapping

18/18

Vous aimerez peut-être aussi