slam4:orm:hibernate

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.

Vous disposez de :

  • Eclipse Juno J2EE
  • Hibernate 3
  • Mysql Server
  • Driver JDBC pour Mysql

Mise en place la configuration matérielle.

  • 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.
  • 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é :

  1. d'entité (clé primaire)
  2. référentielle (relations)

Exemple :

Produit :

  • id (primary key)
  • idCategorie (foreign key references categorie.id)

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>

JPA sera utilisé pour définir le mapping relationnel/objet. Il va permettre de mettre des annotations sur les classes métier de façon à définir leur persistance.

|
 
  • slam4/orm/hibernate.1353606104.txt.gz
  • Dernière modification : il y a 7 ans
  • (modification externe)