18
Développement des applications web avec J2EE Réalisé par: Jihed DGHAIES Copyright club CFEM ©2010 Persistence et Hibernate

4 Hibernate

Embed Size (px)

DESCRIPTION

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)

Citation preview

Page 1: 4 Hibernate

Développement des applications web

avec J2EE

Réalisé par:Jihed DGHAIES

Copyright club CFEM ©2010

Persistence et Hibernate

Page 2: 4 Hibernate

Programme

Persistence

Hibernate

Mapping

1

2

33

2/18

Page 3: 4 Hibernate

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

Page 4: 4 Hibernate

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% letemps de développement du code d’accès à la base dedonnées, tout en bénéficiant des avantages destechnologies objet et en conservant la compatibilité avecles SGBDR existants.

4/18

Page 5: 4 Hibernate

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

Page 6: 4 Hibernate

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

Page 7: 4 Hibernate

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

Page 8: 4 Hibernate

Hibernate : Architecture

L’application dispose d’objets,

dont la persistance est gérée

par Hibernate.

Décrire la correspondance

entre la base de données et

les objets de l’application.

Le fichier properties ( ou

hibernate.cfg.xml) contient

les paramètres de

configuration d’Hibernate

8/18

Page 9: 4 Hibernate

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

Page 10: 4 Hibernate

Classe persistance

10/18

Page 11: 4 Hibernate

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

Page 12: 4 Hibernate

Mapping : Structure Fichier

12/18

Page 13: 4 Hibernate

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

Page 14: 4 Hibernate

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

Page 15: 4 Hibernate

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

Page 16: 4 Hibernate

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

Page 17: 4 Hibernate

Mapping : mapping des relations

nom de la propriété, l’initiale

étant en minuscule .

nom de la classe associée.

17/18

Page 18: 4 Hibernate

Fichier de mapping

18/18