Présentation de Hibernate
Hibernate est une couche résidant dans la JVM permettant d’assurer le mapping des objets JAVA cachés dans la JVM aux modèle relationnel ou modèle de données. Hibernate assure aussi le transfert des classes Java dans les entités de données et donc des données des objet dans les entités et les tables.
Hibernate présente aussi un language de manipulation des objets mappés connus sous le nom HQL. Il s’agit de faire des select, Update et Delete avec des opérations de somme, comtage (count), de calcul de moyenne,etc. HQL présente aussi des limites tel que l’utilisation des opérations d’Union.
Dans sa couche la plus proche de la base de données, Hibernate utilise JDBC (JDBC Template) pour dialoguer avec la base de données.
La Figure ci-dessous les constituants d’Hibernate utilisant une base de données et les composants de configuration pour fournir au développeur d’une application JAVA des objets persistance et assurer le transport de données entre ces objets et les tables de la base de données.
Plusieurs outils de mapping relationnel/objet Hibernate existent dans la communauté Hibernate. Un des plus connus Middlegen, l’objectif est d’assister le développeur pour définir de façon complète le mapping Hibernate.
La Session Hibernate :
Un loading d’objet mappé (de persistence) de la base de données ou la mise à jour (Update , insertion ou suppression) ne peut se faire que si une session Hibernate est instanciée. La session est une couche représentée par l’interface JAVA
org.hibernate.Session
Pour un développeur d’une application JAVA, toute l’activité Hibernate commence après l’instruction
session = sessionFactory.openSession ()
où
sessionFactory est un objet créé par l’application et qui utilise la connexion JDBC (ou JNDI).
L’activité Hibernate finisse après l’appel de la méthode
session.close ()
Entre ces deux méthodes citées dessus , une transaction peut être lancée en appelant
session.beginTransaction().
Distribution et principales classes et interfaces :
La version 3 de Hibernate est téléchargeable à partir du
lien
Les principaux jars sont les suivants :
- Ehcache-1.3.0.jar: Utilisé par hibernate(deuxieme cache)
- Hibernate-3.2.5.ga.jar: utilisé par hibernate
- Hibernate-annotations-3.3.0.ga.jar: Utilisé pour annotation jpa
- Hibernate-commons-annotations-3.3.0.ga.jar: Utilisé pour annotation jpa
- Hibernate-entitymanager.jar: Utilisé pour annotation jpa
- Hibernate-validator-3.0.0.ga.jar: pour la couche de validation par hibernate validator(champs obligatoires,length,..)
La classe
org.hibernate.cfg.Configuration
Le constructeur de Configuration utilise le fichier de configuration de Hibernate (
hibernate.cfg.xml.)
La classe
org.hibernate.HibernateException
Pratiquement toutes les méthodes Hibernate peuvent déclencher cette exception.
Interface
org.hibernate.SessionFactory
C’est la première instance créé en appelant :
new org.hibernate.cfg.Configuration ().configure ().buildSessionFactory ();
Il permet de lire les fichiers hbm (voir partie configuration).
Interface
org.hibernate.Session
Interface
org.hibernate.Query
Interface qui permet à un développeur d’écrire des requêtes Hibernate (HQL) en utilisant les objets JAVA de persistence.
Interface
org.hibernate.SQLQuery
Interface qui permet à un développeur d’écrire des requêtes SQL.
Interface
org.hibernate.Transaction
Il s’agit de l’objet transaction Hibernate avec comme principales fonction de commit() et de rollback().
Voir aussi:
Hibernate (Partie 2): configuration et utilisation