220 likes | 387 Views
Hibernate. Travail élaboré par Ben Arfa Rym Hammouda Moufid Mejri Imen Mouelhi Emna Othman Nouha. Année universitaire: 2012 / 2013. Plan. Présentation Intérêts Installation et plugin Interfaçage avec l’IDE Eclipse Exemple Conclusion. I . Présentation.
E N D
Hibernate Travail élaboré par Ben Arfa Rym Hammouda Moufid Mejri Imen Mouelhi Emna Othman Nouha Année universitaire: 2012 / 2013
Plan Présentation Intérêts Installation et plugin Interfaçage avec l’IDE Eclipse Exemple Conclusion
I. Présentation Hibernate est un framework de mapping objet-relationnel ou de persistance objet de données. Framework??? Un Framework est un ensemble de composants qui servent à créer l'architecture et les grandes lignes d'une application. Vous pouvez le voir comme une boîte à outils géante, conçue par un ou plusieurs développeurs et mise à disposition d'autres développeurs, afin de faciliter leur travail.
II. Intérêts 1/4 • Avantage1 : Hibernate génère le code SQL pour vous. • Pas de requête SQL à écrire • Pas d’Objet ResultSet à gérer : cycle récupération manuelle ResultSet + Casting de chaque ligne du resultset (type Object) vers un type d’objet métier . • Application plus portable. S’adapte à la base de données cible
II. Intérêts 2/4 • Avantage 2 : persistance transparente. • Vous pouvez faire de vos classes métiers des classes persistantes sans ajout de code tiers. C’est là une différence forte et fondamentale vis à vis de EJB2.x qui étaient utilisées dans les années de création d’Hibernate. • Cette différence n’est plus d’actualité avec les EJB3, dont les Spécifications(JSR-220) ont été écrite avec la collaboration de Gavin King et l’équipe d’Hibernate.
II. Intérêts 3/4 • Avantage 3 : 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.
II. Intérêts 4/4 • Avantage 4 : portabilité du code si changement de base de données. • Hibernate vous permet de changer de base de données cible (ex : remplacer SQL Server par PostGresql) en modifiant un minimum de paramètres de configuration (comme le Dialect). • Quand on sait que de nombreux programme codent ’en dur’ des requêtes SQL dans le code, celui ci est souvent spécifique à une base de données...
III. Installation et plugin 1/2 Installation de Hibernate Synchronizer
III. Installation et plugin 2/2 Sous l’onglet « AvailableSoftware », cliquez sur « Add site » Entrez l’url suivant : « http://hibernatesynch.sourceforge.net » puis appuyez sur « OK » Sélectionnez Hibernate Synchroniser puis « install »
III. Interfaçage avec l’IDE Eclipse 1/4 _ une classe de type JavaBean qui encapsule les données d'une occurrence de’une table, ce sont les classes persistantes. _ un fichier de mappingqui configure la correspondance entre la classe et la table _ un fichier de configuration contenant des informations concernant la connexion à la base de données. Hibernate a besoin de plusieurs éléments pour fonctionner :
III. Interfaçage avec l’IDE Eclipse 2/4 NB (A partir de la version 3 de Hibernate nous pouvons utiliser les annotations au lieu des fichiers hbm ) Bean Entity: Ce sont les EJBs des classes java persistantes, contiennent les methodesGetter et Setter. hbm.xml : Ce sont les fichiers de mappings utilisées par hibernate.
III. Interfaçage avec l’IDE Eclipse 3/4 Fichier de configuration Pour configurer Hibernate, nous utilisons un fichier XML appelée, hibernate.cfg.xml. Cette configuration peut également être effectuée par un fichier hibernate.properties. Dans ce fichier, nous spécifions la base de données, le pilote, l'url de connexion, l'utilisateur et le mot de passe.
III. Interfaçage avec l’IDE Eclipse 4/4 Fichier mapping: Dans la couche de Persistance Hibernate implémente la sous couche DAO Design Pattern DAO Le pattern DAO (Data Access Object) permet de faire le lien entre la couche métier et la couche persistante, afin de centraliser les mécanismes de mapping entre notre système de stockage et nos objets Java. La couche persistante correspond, en fait, à notre système de stockage et la couche métier correspond à nos objets Java, mappées sur notre base. Le pattern DAO consiste à ajouter un ensemble d'objets dont le rôle sera de : _ Ecrire. _ Lire. _ Modifier. _ Supprimer. Dans notre système de stockage.,Cet ensemble d'objet s'appelle la couche DAO
III. Exemple 1/7 1. Création de la base de données
III. Exemple 2/7 2.1 Création et préparation du projet
III. Exemple 3/7 2.2 Ajouter au classpath du projet les librairies
III. Exemple 4/7 3.1 Création des éléments de Hibernate Le fichier hibernate.cfg.xml est généré
III. Exemple 5/7 3.2 Fichier de mapping Le fichier Etudiant.hbm.xml est généré
III. Exemple 6/7 4. Test des classes 4.1 Classe HibernateSessionFactory Une classe HibernateappelléeSessionFactory permet à partir du fichier de configuration (hibernate.cfg.xml) d'être associé à la source de données. Elle fournit des objets Session pour manipuler les données. Nous allons, pour celà, écrire une classe trouvée dans l'aide en ligne d'Hibernate.org.
III. Exemple 7/7 4. Test des classes 4.1 Classe EtudiantDAO.java Nous allons maintenant créer une classe pour les tests. Nous allons d’abord créer 2 étudiants, l’enregistrer dans la base de données puis les afficher .
III. Conclusion La persistance des objets dans une base de données relationnelle est très difficile à faire , ainsi, des techniques de mapping ont vu le jour pour faciliter la programmation, et l'un d'entre eux, le plus aboutit, est Hibernate