Hibernate - Partie 1: Présentation

Décembre 2016


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 ()

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

A voir également :

Ce document intitulé «  Hibernate - Partie 1: Présentation  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.