SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Objet Direct Formation JPA Hibernate
Objet Direct Formation JPA HibernateObjet Direct Formation JPA Hibernate
Objet Direct Formation JPA Hibernateformationobjetdirect
 
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!bleporini
 
Formation JPA Java persistence API
Formation JPA Java persistence APIFormation JPA Java persistence API
Formation JPA Java persistence APIThibault Cuvillier
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfacesbenouini rachid
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java Youness Boukouchi
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbcRachid Lajouad
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbcabderrahim marzouk
 
CDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGICDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGIAntoine Sabot-Durand
 

La actualidad más candente (20)

Objet Direct Formation JPA Hibernate
Objet Direct Formation JPA HibernateObjet Direct Formation JPA Hibernate
Objet Direct Formation JPA Hibernate
 
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!
JDBC / JPA / Hibernate: Sans maîtrise la puissance n’est rien!
 
Formation JPA Java persistence API
Formation JPA Java persistence APIFormation JPA Java persistence API
Formation JPA Java persistence API
 
Hibernate 3
Hibernate 3Hibernate 3
Hibernate 3
 
Jpa(1)
Jpa(1)Jpa(1)
Jpa(1)
 
JNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory InterfacesJNDI Java Naming Derectory Interfaces
JNDI Java Naming Derectory Interfaces
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
Presentation JPA
Presentation JPAPresentation JPA
Presentation JPA
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Jdbc
JdbcJdbc
Jdbc
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Springioc
SpringiocSpringioc
Springioc
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbc
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbc
 
CDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGICDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGI
 
575
575575
575
 
Devoxx 15
Devoxx 15 Devoxx 15
Devoxx 15
 
Hibernate
HibernateHibernate
Hibernate
 

Destacado

Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008Spring Security - TeeJUG 2008
Spring Security - TeeJUG 2008teejug
 
Android fundamentals and communication with Java EE Application
Android fundamentals and communication with Java EE ApplicationAndroid fundamentals and communication with Java EE Application
Android fundamentals and communication with Java EE ApplicationAdil Ourida
 
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Matt Raible
 
Introduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesIntroduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesecosio GmbH
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentationguest11106b
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebHarrathi Mohamed
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Saâd Zerhouni
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Ippon
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesFabrice HAUHOUOT
 

Destacado (13)

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

Similar a 4 Hibernate

java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbcvangogue
 
Ado.net vs jpa
Ado.net vs jpaAdo.net vs jpa
Ado.net vs jpaNetways
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataLhouceine OUHAMZA
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zinebZineb ELGARRAI
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
 
Java et les bases de données
Java et les bases de donnéesJava et les bases de données
Java et les bases de donnéesGuillaume Harry
 
LP_Admin_base_données.ppt
LP_Admin_base_données.pptLP_Admin_base_données.ppt
LP_Admin_base_données.pptIdriss22
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsChristopheTricot
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]linasafaa
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - IntroductionBlandine Larbret
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxsalmachtioui1
 
Présentation de la plateforme Android
Présentation de la plateforme AndroidPrésentation de la plateforme Android
Présentation de la plateforme AndroidMohamed BOURAOUI
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 

Similar a 4 Hibernate (20)

java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbc
 
Ado.net vs jpa
Ado.net vs jpaAdo.net vs jpa
Ado.net vs jpa
 
JPA est middleware
JPA est middleware JPA est middleware
JPA est middleware
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
 
Java et les bases de données
Java et les bases de donnéesJava et les bases de données
Java et les bases de données
 
LP_Admin_base_données.ppt
LP_Admin_base_données.pptLP_Admin_base_données.ppt
LP_Admin_base_données.ppt
 
Hibernate.pdf
Hibernate.pdfHibernate.pdf
Hibernate.pdf
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Cours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdfCours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdf
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptx
 
Présentation de la plateforme Android
Présentation de la plateforme AndroidPrésentation de la plateforme Android
Présentation de la plateforme Android
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Spring
SpringSpring
Spring
 

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