Développement
des applications web
     avec J2EE

    Réalisé par:
  Jihed DGHAIES
   Copyright club CFEM ©2010




        Persistence et Hibernate
Programme


1   Persistence



2   Hibernate



3   Mapping



                  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% 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
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.

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
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

Contenu connexe

PPT
Hibernate
PPTX
Hibernate
PDF
Introduction à Hibernate p.1
PPTX
Hibernate et jsf
PDF
PDF
Introduction à JPA (Java Persistence API )
PPT
Presentation hibernate nfe103
PDF
Jpa Spring Hibernate
Hibernate
Hibernate
Introduction à Hibernate p.1
Hibernate et jsf
Introduction à JPA (Java Persistence API )
Presentation hibernate nfe103
Jpa Spring Hibernate

Tendances (20)

PDF
Objet Direct Formation JPA Hibernate
PPTX
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!
PPT
Formation JPA Java persistence API
PPTX
Hibernate 3
PPTX
Jpa(1)
PPTX
JNDI Java Naming Derectory Interfaces
PDF
La persistance des données : ORM et hibernate
PPT
Presentation JPA
PPSX
Formation JAVA/J2EE
PDF
Support Java Avancé Troisième Partie
PDF
Springioc
PDF
JDBC: Gestion des bases de données en Java
DOCX
Accès aux bases de données via jdbc
PPTX
Workshop spring session 2 - La persistance au sein des applications Java
PDF
Marzouk une introduction à jdbc
KEY
CDI mis en pratique avec Seam Social et Weld OSGI
PDF
PDF
Devoxx 15
Objet Direct Formation JPA Hibernate
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!
Formation JPA Java persistence API
Hibernate 3
Jpa(1)
JNDI Java Naming Derectory Interfaces
La persistance des données : ORM et hibernate
Presentation JPA
Formation JAVA/J2EE
Support Java Avancé Troisième Partie
Springioc
JDBC: Gestion des bases de données en Java
Accès aux bases de données via jdbc
Workshop spring session 2 - La persistance au sein des applications Java
Marzouk une introduction à jdbc
CDI mis en pratique avec Seam Social et Weld OSGI
Devoxx 15
Publicité

En vedette (13)

PDF
PDF
Spring Security - TeeJUG 2008
PDF
Android fundamentals and communication with Java EE Application
PDF
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
PDF
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
PDF
Introduction to JPA and Hibernate including examples
PDF
Hibernate Presentation
PPTX
Ma présentation PFE : Application Android & Site Web
PPTX
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
PDF
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
PPT
présentation soutenance PFE.ppt
PPTX
Soutenance mémoire de fin d'études
PDF
Support JEE Spring Inversion de Controle IOC et Spring MVC
Spring Security - TeeJUG 2008
Android fundamentals and communication with Java EE Application
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Introduction to JPA and Hibernate including examples
Hibernate Presentation
Ma présentation PFE : Application Android & Site Web
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
présentation soutenance PFE.ppt
Soutenance mémoire de fin d'études
Support JEE Spring Inversion de Controle IOC et Spring MVC
Publicité

Similaire à 4 Hibernate (20)

PPTX
Chapitre 02- Mapping Objet Relational (ORM).pptx
PDF
Crs orm
PPTX
Ado.net vs jpa
PDF
Hibernate.pdf
PPTX
Présentation_simple_sur_l'architecture_JPA.pptx
PPT
Formation jpa-hibernate-spring-data
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
Framework Hibernate
PPTX
Aperçu de java EE 5
PDF
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
PDF
20091020 JPA2
PPT
Java et les bases de données
PDF
Chapitre 4 JEE JPA 2gtelecommunications.pdf
Chapitre 02- Mapping Objet Relational (ORM).pptx
Crs orm
Ado.net vs jpa
Hibernate.pdf
Présentation_simple_sur_l'architecture_JPA.pptx
Formation jpa-hibernate-spring-data
Framework Hibernate
Aperçu de java EE 5
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
20091020 JPA2
Java et les bases de données
Chapitre 4 JEE JPA 2gtelecommunications.pdf

Dernier (7)

PPTX
Cours Electrotechnique L2 - Séance 6.pptx
PDF
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
PDF
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
PDF
Architecture logicielle et Modeles de Conception
PDF
COURS GCDs Chap 9.pdf tous les éléments.
PPTX
test pour la présentation foire de Chalôns V1
PDF
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
Cours Electrotechnique L2 - Séance 6.pptx
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
Architecture logicielle et Modeles de Conception
COURS GCDs Chap 9.pdf tous les éléments.
test pour la présentation foire de Chalôns V1
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26

4 Hibernate

  • 1. Développement des applications web avec J2EE Réalisé par: Jihed DGHAIES Copyright club CFEM ©2010 Persistence et Hibernate
  • 2. Programme 1 Persistence 2 Hibernate 3 Mapping 2/18
  • 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
  • 12. Mapping : Structure Fichier 12/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