Ceci est une ancienne révision du document !
Hibernate
Site de référence : www.hibernate.org
Hibernate est un produit Open source sous licence GNU LGPL, développé par une équipe issue de la communauté JBOSS, aujourd'hui filiale de la société Red Hat.
Principale fonctionnalité :
Le rôle principal d'Hibernate est de remplacer l'accès aux bases de données par l'appel de méthodes objet de haut niveau.
Hibernate 3, version avec laquelle nous allons travailler, est capable de gérer la persistance avec des bases de données relationnelles, mais aussi avec des bases de données objet et des fichiers XML.
Il existe également une version d'Hibernate pour .net : NHibernate.
Configuration logicielle
Vous disposez de :
- Eclipse Juno J2EE
- Hibernate 3
- Mysql Server
- Driver JDBC pour Mysql
Mise en place
Mise en place la configuration matérielle.
Dans Eclipse
- Créer un nouveau Dynamic Web Project dans Eclipse
- Intégrer les jars d'Hibernate 3 et le driver JDBC pour mysql dans le dossier WebContent/WEB-INF/lib
- Copier le fichier xml de configuration d'Hibernate dans le dossier src du projet.
Dans phpMyAdmin
- Créer la base de données ORM sur votre serveur Mysql en exécutant le script de création (la base est créée dans le script).
Afficher le concepteur pour visualiser les tables, et les relations : Pour chaque table, notez les contraintes d'intégrité :
- d'entité (clé primaire)
- référentielle (relations)
Exemple :
Produit :
- id (primary key)
- idCategorie (foreign key references categorie.id)
Hibernate
Ouvir le fichier de configuration d'Hibernate dans le dossier src :
Vérifiez les paramètres de connexion à Mysql.
| Propriété | Valeur | Signification |
|---|---|---|
| hbm2ddl.auto | validate | Permet de vérifier la correspondance entre le schéma de la base et les classes métiers |
| show_sql | true | Permet d'afficher les instructions SQL exécutées dans la console Eclipse |
- hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory > <property name="connection.url">jdbc:mysql://localhost/orm</property> <property name="connection.username">root</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.password"></property> <property name="connection.pool_size">10</property> <property name="current_session_context_class">thread</property> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <property name="hbm2ddl.auto">validate</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <mapping class="metier.Categorie" /> <mapping class="metier.Produit" /> </session-factory> </hibernate-configuration>