Chinese (People's Republic of China)  English  Français


Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo



Projets
  Dernier Projet
  Les plus populaires
  Tous les Projets

226 Visiteurs
3168 Projets


My Supinfo-Projects

   Connectez-vous
   Créez un Compte


Synopsis

   344 Visites
   Note INTERNET : 14.8
    (7 Votants)
   1 Commentaires

   Lire l'article

Evaluez cet article

20
18
16
14
12
10
8
6
4
2
0


Commentez cet article

Auteur :

Email :

Votre commentaire :



 
2005 - Note de Synthèse Stage
Tutorial : débuter avec Hibernate sous Eclipse
[40 mn de lecture - paru le 11/15/2004 1:21:29 PM - Public : Débutant]

Auteur

minosisJulien DEFAUT
Elève-Ingénieur Supinfo Paris
Promotion SUPINFO 2005

   Lui écrire
   Tous les projets de cet auteur
   Le mini-CV de cet auteur

3. Utilisation de Hibernate

3.1. Création et préparation du projet

Avant de passer au coeur de l'utilisation d'Hibernate, nous devons créé et configurer un projet Eclipse. Cette partie est essentielle au bon fonctionnement de la suite.

Faites "Fichier>New>Project"

Choisissez "Java Project" puis donnez au projet les caractéristiques suivantes :

Veillez à bien cocher "Create separate source and output folders".

Si Eclipse vous demande de passer en Java Perspective, répondez "Yes".

Créez à partir de l'explorateur windows un répertoire "lib" dans la racine de votre projet : /eclipse/workspace/HibernateTest/lib

Téléchargez l'archive lib_tuto.zip : ici. Décompressez son contenu dans le répertoire "lib".
hibernate2.jar contient les principaux packages nécessaires au bon fonctionnement d'Hibernate.
jtds-0.8.1.jar est un driver JDBC opensource pour se connecter à SQLServer 2000.
Les autres packages sont indispensables à Hibernate.

Revenez à Eclipse et faites sur le nom du projet "HibernateTest" : "Bouton droit > Refresh". Le répertoire "lib" a dû apparaître.

A ce moment précis, si vous déroulez le répertoire "lib", le projet doit ressembler à ça :

Nous allons maintenant ajouter au classpath du projet les librairies :

Faites sur le projet "HibernateTest" : "Bouton Droit > Properties"

Cliquez sur "Java Build Path" puis sur l'onglet "Librairies".

Cliquez sur "Add jars". Une fenêtre apparaît. Déroulez l'arborescence qui soit être "HibernateTest > lib" et sélectionnez tous les jar présents. Puis cliquez sur "OK".

Tous les packages devraient apparaître dans la liste de "Librairies". Cliquez sur "OK" dans la fenêtre "Properties for HibernateTest".

Le projet doit être maintenant comme ceci :

Nous sommes prêt à passer aux choses sérieuses ;-)

3.2. Création des éléments Hibernate

A) Création du fichier de configuration xml

Le fichier que nous allons créer va permettre d'indiquer au moteur d'Hibernate les paramètres de connexion à la base de données.

Sur le dossier "src", faites "Bouton droit > New > Other" et choissez "Hibernate > Hibernate Configuration File"

Dans la fenêtre qui apparaît ensuite, indiquez les informations suivantes :

Remarque1 : si plus tard, hors du contexte de ce tutorial, vous deviez utiliser Hibernate dans un serveur d'application J2EE, vous devriez le choisir dans la liste "Application Server".
Remarque2 : le nom "net.sourceforge.jtds.jdbc.Driver" doit être entré à la main (aprés avoir cliqué sur "Browse"). En effet, le moteur de recherche ne le trouvera pas sinon.
Remarque3 : on suppose que l'instance SQLServer est sur la même machine (127.0.0.1). Si ce n'est pas le cas, entrez la bonne adresse ip.

Cliquez sur "Finish". hibernate.cfg.xml est créé.

Le fichier devrait s'ouvrir dans votre éditeur xml par défaut. Le mieux est de l'ouvrir sous Eclipse : "Bouton droit sur le fichier > Open With > Text Editor".

Nous allons réaliser un exemple de test au prochain chapitre qui impose des modifications de hibernate.cfg.xml. En effet, ce fichier est destiné à être utilisé sur un serveur d'application. Nous allons le rendre utilisable dans un contexte plus simple :

Mettez ces lignes en commentaire :

<!--
<property name="hibernate.transaction.factory_class">
	net.sf.hibernate.transaction.JTATransactionFactory
</property>
<property name="jta.UserTransaction">
	java:comp/UserTransaction
</property>
-->

Placez en dessous la nouvelle ligne suivante :

<!--
<property name="hibernate.transaction.factory_class">
	net.sf.hibernate.transaction.JTATransactionFactory
</property> <property name="jta.UserTransaction">
	java:comp/UserTransaction
</property>
-->
<property name="hibernate.transaction.factory_class">
   net.sf.hibernate.transaction.JDBCTransactionFactory
</property>

- Enregistrez le fichier, il est maintenant correct.

B) Création du fichier de mapping xml

Ce fichier est un élément majeur puisqu'il va permettre à Hibernate faire le pont entre les classes de persistance et la source de données.

Faites sur "src" dans le projet : "Bouton droit > New > Package" et donnez comme nom, par exemple : "com.minosis.hibernate".

Sur le dossier "src", faites "Bouton droit > New > Other" et choissez "Hibernate > Hibernate Mapping File"

Indiquez les informations suivantes :

Remarque : pour obtenir automatiquement la liste des tables de la base, mettez "password" dans Password et cliquez sur "Refresh". Si les tables apparaîssent, c'est que la connexion à la base de données a eu lieu correctement, félicitation ;-)

- Cliquez sur "Finish". Notre fichier de TContact.hbm est créé.

A ce moment, on peut supposer le fichier conforme. Il n'en est rien, le plugin Hibernate Synchronizer a généré un fichier non conforme à la DTD, hibernate-mapping-2.0.dtd.
Je vous propose donc de remplacer son contenu par celui-ci :

<?xml version="1.0"?>
   <!DOCTYPE hibernate-mapping
 PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
 <class name="com.minosis.hibernate.TContact" table="t_contact">
 <id name="Id" type="integer">
 <column name="id" sql-type="int(4)"/>
 <generator class="increment" />
 </id>
 <property name="Nom" type="string">
 <column name="nom" sql-type="char(50)" not-null="true"/>
 </property>
 <property name="Prenom" type="string">
 <column name="prenom" sql-type="char(50)" not-null="true"/>
 </property>
 <property name="Age" type="integer">
 <column name="age" sql-type="int(4)" not-null="true"/>
 </property>
 </class>
</hibernate-mapping>

Tout n'était pas faux dans le précédent, mais celui-ci est plus conforme aux préconisations de l'aide officielle d'Hibernate et ne créera pas d'erreur lorsqu'il sera parsé.
Il est relativement simple à comprendre. <id> défini la clé pirmaire et <generator class="increment" />, indique le comportement de génération automatique de la clé primaire (ici incrément simple). Les <property> déclarent les autres champs. La balise <class> informe du nom de l'objet et du nom de la table correspondante.

- Enregistrez le fichier. Le plugin génère alors automatiquement des classes. Si ce n'est pas le cas, faites sur le fichier TContact.hbm : "Bouton droit > Hibernate Synchroniser > Synchronize File".

Vous pouvez aller regarder les classes générées, surtout BaseTContact.java qui contient la traduction objet de la table "t_contact". C'est plutôt intéressant.

Voici l'allure du projet avec tous les packages déroulés :

Tous les fichiers nécessaires au mapping sont maintenant créés.
Le chapitre suivant propose de montrer comment les utiliser à partir de ce qui pourrait être la couche applicative.

 



Articles de la même catégorie

 Pages : Top


71 Visites
0 Commentaires
Présentation du développement de modules d’e-learning sous Inovae
[30 mn de lecture - paru le 11/15/2004 1:14:37 PM - Public : Débutant]

En savoir plus


31 Visites
0 Commentaires
Internet development and DOM Inspector
[25 mn de lecture - paru le 11/15/2004 12:43:46 PM - Public : Confirmé]

En savoir plus


63 Visites
0 Commentaires
Création d'un logiciel pour les surfeurs
[10 mn de lecture - paru le 11/15/2004 12:41:03 PM - Public : Débutant]

En savoir plus

   Tous les Articles


SUPINFO Training Center peut vous proposer une formation ...

   Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training Center
   Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
   Devenez Administrateur Système Microsoft avec SUPINFO Training Center
   Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center



Powered by Campus-Booster Technology
Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :