Développons en Java avec Eclipse v 0.80 | ||||||
Copyright (C) 2003-2007 Jean-Michel DOUDOUX |
Hibernate est un projet open source visant à proposer un outil de mapping entre les objets et des données stockées dans une base de données relationnelle. Ce projet ne repose sur aucun standard mais il est très populaire notamment à cause de ses bonnes performances et de son ouverture avec de nombreuses bases de données.
Le site officiel http://www.hibernate.org contient beaucoup d'informations sur l'outil et propose de le télécharger ainsi que sa documentation.
Le plug-in Hibernate Synchronizer permet la génération de code utilisant le framework Hibernate. Il permet aussi de re-générer ce code lorsqu'un fichier de mapping est modifié. |
Le site du plug-in est à l'url : http://hibernatesynch.sourceforge.net/
Version utilisée dans cette section |
|
Eclipse |
3.0.1 |
J2SE |
1.4.2_03 |
Hibernate Synchronizer |
2.3.1. |
Le plus simple est d'utiliser la fonctionnalité de mise à jour proposée par l'option "Rechercher et installer" du menu "Aide". Cliquez sur le bouton "Rechercher les nouveaux dispositifs à installer" sur le bouton "Nouveau site distant", saisissez les informations ci dessous et suivez les instructions pour réaliser le téléchargement et l'installation.
La base de données utilisées dans cette section contient trois tables :
Exemple : le DDL de la base de données |
|
Créer un nouveau projet dont les sources et les binaires sont séparés et ajouter les fichiers mm.mysql-2.0.14-bin.jar et hibernate2.jar dans les bibliothèques.
Il est aussi obligatoire d'ajouter toutes les bibliothèques nécessaires à Hibernate lors de son exécution.
Il faut ensuite créer une entité de type « Hibernate / Hibernate Mapping File » dans le répertoire src du projet.
Cliquez sur le bouton « Suivant ». La page suivante permet de saisir les informations sur la base de données et sa connexion.
Cliquez sur le bouton « Browse » en face de « Driver ».
Sélectionnez la classe org.gjt.mm.mysql.Driver et cliquez sur le bouton « OK ».
Il faut ensuite saisir les informations concernant la connexion à la base de données et cliquer sur le bouton « Refresh ».
Si les paramètres concernant la connexion sont corrects alors la liste des tables est affichée. Il suffit alors de sélectionner la ou les tables désirées.
Enfin, il faut saisir le nom du package qui va contenir les fichiers générés.
Cliquez sur le bouton « Fin ». Trois fichiers sont générés : Groupes.hbm, Grppers.hbm et Personnes.hbm
Exemple : le fichier Personnes.hbm |
|
Exemple : le fichier Groupes.hbm |
|
Exemple : le fichier Grppers.hbm |
|
La génération des classes correspondantes pour chaque fichier .hbm peut être demandée de deux façons :
Cette génération va créer pour chaque fichier .hbm plusieurs classes.
Il faut créer une nouvelle entité de type « Hibernate / Hibernate Configuration File » dans le répertoire src. Une boite de dialogue permet de saisir les informations qui seront insérées dans le fichier de configuration d'Hibernate.
Une fois les informations saisies, cliquez sur le bouton « Fin »
Il faut rajouter dans ce fichier tous les fichiers de mapping qui seront utilisés.
Exemple : |
|
Les différentes classes qui vont mettre en oeuvre les classes générées vont utiliser une classe utilitaire proposée dans la documentation de Hibernate pour configurer et obtenir une session.
Exemple : |
|
Le premier exemple va simplement afficher le nom de toutes les personnes.
Exemple : |
|
Exemple : |
|
Voici le même exemple utilisant les classes générés mettant en oeuvre le motif de conception DAO.
Exemple : |
|
Le second exemple va retrouver un groupe, créer une nouvelle personne et l'ajouter au groupe trouvé.
Exemple : |
|
Voici le même exemple utilisant les classes générés mettant en oeuvre le motif de conception DAO.
Exemple : |
|
Si une des tables à traiter ne contient que des données de références (un identifiant et une valeur), alors Hibernate Synchronize propose de créer une classe particulière qui va encapsuler les données non pas de façon dynamique via un accès à la table mais de façon statique.
Dans ce cas, une boîte de dialogue demande si la classe générée doit l'être de façon statique (création comme une énumération)
Exemple : la table groupes ne possède que deux champs (idgroupe et nomgroupe)
En cliquant sur le bouton « Oui » la classe suivante est générée :
Exemple : |
|
Développons en Java avec Eclipse v 0.80 | |||||||
Copyright (C) 2003-2007 Jean-Michel DOUDOUX |