4 Hibernate

Preview:

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

Développement des applications web

avec J2EE

Réalisé par:Jihed DGHAIES

Copyright club CFEM ©2010

Persistence et Hibernate

Programme

Persistence

Hibernate

Mapping

1

2

33

2/18

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

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

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

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

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

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

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

Classe persistance

10/18

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

Mapping : Structure Fichier

12/18

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

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

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

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

Mapping : mapping des relations

nom de la propriété, l’initiale

étant en minuscule .

nom de la classe associée.

17/18

Fichier de mapping

18/18

Recommended