Hibernate est un Framework open-source couramment utilisé dans l’univers Java. Il permet grâce à la technologie XML de réaliser les transactions entre la base de données et l’application de manière efficace. Il gère les collections d’objets, les relations entre les objets comme l’héritage, ou encore, les notions de clés étrangères. Il ajoute ainsi une couche intermédiaire entre l’application et la base de données et permet d’avoir une synchronisation entre les objets physiques de l’application et les objets métaphysiques enregistrés dans la base de données.
Malgré une mise en place et une configuration de départ relativement longue, il permet de gagner un temps non négligeable sur des applications nécessitant de nombreuses connections à la base de données. De plus, hormis les fichiers de configuration à gérer sous la forme de fichier XML, l’utilisation du Framework Hibernate permet de simplifier le code et de le rendre plus accessible afin de réaliser des évolutions ou des modifications plus facilement. Hibernate fait abstraction de la base de données et permet ainsi aux développeurs de réaliser leurs applications sans se soucier du type de base qui fonctionne en arrière plan. L’ajout et la modification d’informations sur des objets se font naturellement par l’intermédiaire des fichiers de configuration. Il n’est donc pas impossible d’ajouter de nouvelles relations ou de nouveaux objets en cours de développement sans pour autant redéfinir l’intégralité de la structure de l’application. C’est pourquoi, le Framework Hibernate a été vite adopté par la communauté. Son utilisation est d’ailleurs très bien intégré au Framework Spring