Hibernate


Qu'est ce qu'hibernate ?

Hibernate est un Framework open source gérant le mapping objets-relationnel ou de persistance objet de données.
Il permet de réaliser le mapping entre des objets Java et une base de données relationnelle et assure ainsi la persistance des données.
Le projet Hibernate ne repose sur aucun standard mais il est très populaire notamment grâce à son ouverture avec la plus part des bases de données: Oracle, MySQL, SQL Server.
Hibernate s'occupe donc de transcrire des classes Java dans les tables de bases de données, et des types de données Java dans les types de données SQL.
Hibernate apporte une solution aux problèmes d'adaptation entre l'objet et les SGBD en remplacant les accès à la base de données par des appels à des méthodes objet.

Historique:

  • Hibernate a été conçus par un groupe développeur Java dirigés par Gavin King en 2001.
  • 2003 version 2 qui devient un standard incontournable.
  • Intégration JBOSS (RedHat).
  • 2010 version 3 : Ajoute d'annotations.

Les avantages:

  • Il est difficile de faire des requêtes complexe avec HQL (ex: sous requêtes).
  • Etant une technologie jeune, il reste des problèmes à résoudre (ex: les fichiers de mapping ne sont pas toujours bien formés).
  • Ne se base pas sur les standards.
  • Très difficile à maîtriser .

Qu'est ce que la persistance des objets dans une base de données ?

Un objet (instance d'une classe) est persitant si l'état des attributs de cet objet est conservé dans les lignes de table d'une base de données.
Un objet Java est persistant, s'il est instancié d'une classe Java mappée.
Le mapping d'une classe permet de savoir comment la table correspondante devra être implantée dans le SGBD associé.