Hibernate

Disponible uniquement sur Etudier
  • Pages : 12 (2951 mots )
  • Téléchargement(s) : 0
  • Publié le : 21 avril 2014
Lire le document complet
Aperçu du document
25/11/2013

1

2

Persistance des objets
et bases de données relationnelles

Faculté des Sciences de Tunis, Tunisie

• Majorité de bases de données relationnelles
(position dominante sur le marché, théorie
solide et normes reconnues)
• Nombreuses applications développées en
langage de programmation orienté-objet
• Modélisation UML

Comment effectuer la persistance des
donnéesd’une application orientée
objet dans une base de données
relationnelles ?

Framework de persistance:
Hibernate

Présenté par : Nourhène ALAYA
2013-2014

3

ORM : Object/Relational Mapping
• La persistance

▫ Stockage, organisation et récupération des données
structurées (tri, agrégation)
▫ Concurrence et intégrité des données
▫ Partage des données

• ORM est:

▫ Persistanceautomatisée et transparente d’objets
métiers vers une bases de données relationnelles [BK05]
▫ Description à l’aide de méta-données de la transformation
réversible entre un modèle relationnel et un modèle de
classes [BK05, Pat05]
▫ Capacité à manipuler des données stockées dans une base de
données relationnelles à l’aide d’un langage de programmation
orientée-objet
▫ Techniques deprogrammation permettant de lier les bases de
données relationnelles aux concepts de la programmation OO
pour créer une "base de données orientées-objet virtuelle"

4

Couche d’accès aux données
Couche de persistance
• Prise en charge de toutes les interactions
entre l’application et la base de données
• Groupes de classes et de composants
chargés du stockage et de la récupération
des données• Possibilité de servir de cache pour les
objets récupérés dans la base de données
pour améliorer les performances

[Wikipedia]

1

25/11/2013

5

Couche de persistance :
avec correspondance objet/relationnel

6

Exemple simple de correspondance
• Implémentation POJO (Plain Old Java Object) de la classe
Departement:

• Utilisation de la couche de persistance comme unservice rendant abstraite la représentation
relationnelle indispensable au stockage final des objets
• Concentration du développeur sur les problématiques
métier

7

1. Identification des objets
• Objet persistant = représentation en mémoire d’un
nuplet (enregistrement)
Un même nuplet ne doit pas être représenté par plusieurs objets en
mémoire centrale pour une même session de travail

•Exemple :
▫ Création en mémoire d’un objet e1 de la classe Enseignant (à l’occasion d’une
navigation à partir d’un objet Enseignement) . Possibilité de retrouver le même
enseignant depuis un autre objet Enseignement ou depuis un objet
Departement
 Ne pas créer d’objet e2 de la classe Enseignant en mémoire centrale
indépendant de e1

=>doit garantir l’unicité des objets en mémoire paranalogie à l’unicité
des enregistrements de la base de donnée.
 Utilisation du cache
 "Index" des objets créés en mémoire (avec conservation de l’identité
relationnelle – clé primaire)

8

Non correspondance :
• La correspondance entre le modèle objet et le modèle
relationnel n’est pas une tâche facile
▫ 30% du coût de développement consacré à la mise en
correspondance
▫ Modélisationrelationnelle tributaire de la théorie
relationnelle
▫ Modélisation
orientée-objet
sans
définition
mathématique rigoureuse ni partie théorique
Besoin d’utiliser des outils ORM
réduction du code de correspondance

pour

la

 Recherche dans le cache avant toute récupération dans la base.

2

25/11/2013

9

Les Framework ORM








Gestion de la persistance parconteneur (CMP- Container-Managed Persistence et BMP– Beans Managed
Persistence)
Spécifications EJB3.0 (JSR 220 Mai 2006)

JDO (Java Data Object) :






Pourquoi on étudiera la norme JPA ?

Normes Java :
▫ EJB (Entreprise Java Beans) :


10

Spécification de Sun 1999 – JDO 2.0 (JSR243 Mars 2006)
Abstraction du support de stockage
Implémentation libre : JPOX

▫ JPA (Java...
tracking img