Hibernate

Hibernate
Hibernate
Logo Hibernate.png
Développeur Red Hat
Dernière version 3.6.7 Final (17 août 2011) [+/-]
Écrit en Java
Environnement Multiplate-forme (JVM)
Type Mapping objet-relationnel
Licence GNU LGPL
Site web http://www.hibernate.org

Hibernate est un framework open source gérant la persistance des objets en base de données relationnelle.

Hibernate est adaptable en termes d'architecture, il peut donc être utilisé aussi bien dans un développement client lourd, que dans un environnement web léger de type Apache Tomcat ou dans un environnement J2EE complet : WebSphere, JBoss Application Server et Oracle WebLogic Server.

Hibernate apporte une solution aux problèmes d'adaptation entre le paradigme objet et les SGBD en remplaçant les accès à la base de données par des appels à des méthodes objet de haut niveau.

Sommaire

Historique

Hibernate a été développé par un groupe de développeurs Java dirigés par Gavin King. L'entreprise JBoss (maintenant une division de Red Hat) a embauché les développeurs principaux d'Hibernate et a travaillé avec eux afin de maintenir et développer le produit.

La version courante d'Hibernate est la version 3.x. Cette version propose de nouvelles fonctionnalités comme l'architecture "Interceptor/Callback", les filtres utilisateurs et les annotations introduites par le JDK 5.0. Hibernate 3 est également très proche des spécifications EJB 3.0 (même si la bibliothèque logicielle a été livrée avant les spécifications définitives) et sert de colonne vertébrale à l'implantation d'EJB 3.0 par JBoss.

Modules d'Hibernate

Hibernate se compose de plusieurs modules développés par des équipes différentes.

Core

Le module principal d'Hibernate contient les fonctionnalités clef (principalement connues depuis la version 2 de la bibliothèque) telles que les sessions, les transactions, le cache d'objet ou le langage SQL.

Annotations

Apporte le support des Annotations tel que décrit dans JSR 175. Cette approche permet d'éviter la description de la correspondance entre les champs d'une table et les champs du POJO en XML.

Entity manager

Permet le support de JSR 220 JPA par le module Core

Shards

Ce module permet la partition horizontale du Core Hibernate

Validator

Module de validation des contraintes d'entité de la base de données implanté sous forme d'annotations tel que les plages de valeurs autorisées, les formats de chaine de caractère, la détection des valeurs nulles, etc...

Search

Le dernier module apporte une couche d'abstraction pour la recherche de Lucene appliquée sur les entités persistantes maintenues par Hibernate.

Tools

Ensemble d'outils pour Ant ou Eclipse facilitant le développement avec Hibernate.

Comparatif entre Hibernate et Java Data Object

Hibernate est à la base un logiciel open-source alors que Java Data Objects (JDO) est un standard. Cependant Hibernate a inspiré le groupe de travail qui a développé la norme JPA 1.0 qui est la partie persistance de données de la norme EJB3 (JSR 220). Le serveur d'application JBoss utilise entre autres Hibernate pour sa persistance et son implémentation des EJB 3. La majeure partie des implémentations JDO sont compatibles JPA.

La spécification JDO ne se limite pas seulement aux bases de données relationnelles ; en particulier, elle gère la persistance dans des bases de données objets ou dans des fichiers XML. Hibernate le permet aussi depuis sa version 3. Il existe des implémentations JDO supportant également l'accès à des sources mainframe, des bases de données orientées objet, Java connector architecture (JCA), Java messaging service (JMS) et également aux services (Service Web, COBOL).

Hibernate propose HQL qui est inspiré du SQL mais qui intègre également la prise en compte d’aspect objet comme les attributs des entités et le polymorphisme. JDO propose un langage de requête, JDOQL qui est inspiré de la syntaxe objet Java.

La majorité des implémentations JDO modifient des classes compilées POJO (enhancement) alors qu’Hibernate permet d'utiliser des POJO standards. Cela permet aux implémentations JDO de gérer totalement le cycle de vie des objets, en pouvant intercepter chaque interaction avec les objets manipulés. Ce qui permet par exemple de gérer totalement la « persistence by reachability » alors qu'Hibernate ne fournit qu'une implémentation incomplète et peu sûre de cette fonctionnalité. D'un autre côté l'utilisation de POJO standard rend la compilation et le lancement d'applications plus simple pour le développeur.

NHibernate

NHibernate : .NET et open source

NHibernate est un framework open source gérant la persistance des objets en base de données relationnelle. Il est l'implémentation .NET de Hibernate qui a vu le jour en Java.

Outils NHibernate

NHibernate Tools[1] est un plugin qui s'intègre directement dans Visual Studio 2005, et permettant de paramétrer et d'utiliser NHibernate au sein de l'IDE (environnement de développement intégré).

Fonctionnalités incluses

  • Édition simplifiée des fichiers de configuration de NHibernate
  • Génération des POCO (Plain Old CLR Objects) à partir d'un fichier de mapping
  • Génération d'un fichier de mapping à partir d'une classe C#
  • Génération des POCO et des fichiers de mapping à partir de la base de données
  • Édition d'un fichier de mapping à partir de la structure de la base de données

Voir aussi

Références externes

Club d'entraide des développeurs francophones :

Outils:

Notes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Hibernate de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Hibernate — Hi ber*nate, v. i. [imp. & p. p. {Hibernated}; p. pr. & vb. n. {Hibernating}.] [L. hibernare, hibernatum, fr. hibernus wintry. See {Hibernal}.] To winter; to pass the season of winter in close quarters, in a torpid or lethargic state, as certain… …   The Collaborative International Dictionary of English

  • Hibernate — (engl. für „Winterschlaf halten“) Hibernate (Framework), steht für ein Framework im Java Umfeld ist der englische Fachbegriff für den Ruhezustand eines Computers Diese Seite ist eine Begriffsklärung z …   Deutsch Wikipedia

  • hibernate — hibernate. См. гибернация. (Источник: «Англо русский толковый словарь генетических терминов». Арефьев В.А., Лисовенко Л.А., Москва: Изд во ВНИРО, 1995 г.) …   Молекулярная биология и генетика. Толковый словарь.

  • hibernate — (v.) 1802, probably a back formation from HIBERNATION (Cf. hibernation). Related: Hibernated; hibernating …   Etymology dictionary

  • hibernate — [v] lie dormant; sleep through cold weather hide, hole up, immure, lie torpid, sleep, vegetate, winter; concept 315 …   New thesaurus

  • hibernate — ► VERB ▪ (of an animal or plant) spend the winter in a dormant state. DERIVATIVES hibernation noun hibernator noun. ORIGIN Latin hibernare, from hiberna winter quarters …   English terms dictionary

  • hibernate — [hī′bər nāt΄] vi. hibernated, hibernating [< L hibernatus, pp. of hibernare, to pass the winter < hibernus, wintry < IE * ĝheimerinos < base * ĝhei , winter, snow > L hiems, Gr cheima, Czech zima, winter] to spend the winter in a… …   English World dictionary

  • Hibernate — Este artículo o sección sobre informática necesita ser wikificado con un formato acorde a las convenciones de estilo. Por favor, edítalo para que las cumpla. Mientras tanto, no elimines este aviso puesto el 29 de marzo de 2010. También puedes… …   Wikipedia Español

  • Hibernate — Hibernation is a state of regulated hypothermia undergone by some animals to conserve energy during the winter.Hibernate may also refer to: * Hibernate (OS feature), the ability of some operating systems to suspend themselves completely to… …   Wikipedia

  • Hibernate — Спящий режим операционной системы (англ. hibernate) Hibernate (библиотека) Спячка …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”