Fiche technique | |
---|---|
Type de produit : | Cadre d'application |
Auteur : | Red Hat |
Date de publication : | 2001 à maintenant |
Licence : | LGPL |
Site Web : | http://hibernate.org/ |
Introduction
Le cadre d'application Hibernate est un cadre d'application ORM (Object/Relational Mapping) pour Java offre la possibilité de gérer des bases de données relationnel (JDBC) en utilisant un modèle orienté objet développé à l'origine en 2001 par Gavin King et ses collègues de Cirrus Technologies afin d'offrir une alternative à un style d'entité EJB2.
JPA
Le cadre d'application Hibernate de type ORM intègre les spécifications du JPA (Java Persistence API), lequel peut s'adapter facilement à n'importe quel environnement prenant en charge le JPA, comme par exemple les applications Java SE, les serveurs d'applications Java EE et les conteneurs OSGi d'Entreprise.
Connexion persistante
Le cadre d'application Hibernate permet de développer des classes persistantes selon le concept d'un langage de programmation orienté objet, et d'ainsi exploité l'héritage, le polymorphisme, l'association, la composition et la structure de collections de Java. De cette façon, il ne nécessite pas d'interfaces ou de classes de base pour les classes persistantes et offre à toute les classes ou structure de données d'être persistante.
Haute performance
Le cadre d'application Hibernate supporte l'initialisation en mode paresseux (lazy) et également les nombreuses stratégies d'extraction et de verrouillage optimisé avec le contrôle automatique des versions et l'horodatage. De se fait, le cadre d'application Hibernate ne nécessite pas de tables ou de champs de base de données spéciaux afin de générer une grande partie des requêtes SQL au moment de l'initialisation du système plutôt que lors de l'exécution de l'application.
Évolutif
Le cadre d'application Hibernate a été conçu pour fonctionner sur des serveurs d'applications en unité d'allocation (Cluster) et propose par conséquent une architecture pouvant évolué.
Extensible
Le cadre d'application est extrêmement configurable et offre de nombreuses possibilités dans ce sens comme des propriétés de configuration par exemple.