Hibernate es una herramienta open source de Mapeo objeto-relacional para la plataforma Java que además está disponible para .Net como NHibernate. Su función es facilitar el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación.
Hibernate busca solucionar la diferencia entre los dos tipos de datos coexistentes en una aplicación:
El desarrollador puede detallar cómo es su modelo de datos, las relaciones que existen y qué forma tienen.
Hibernate convertirá los datos entre los tipos utilizados por Java y los definidos por SQL, luego generará sentencias SQL y liberará al desarrollador del manejo manual de los datos, manteniendo la portabilidad entre todos los motores de bases de datos acelerando el tiempo de ejecución.
Hibernate está diseñado para ser flexible en cuanto al esquema de tablas utilizado, para poder adaptarse a su uso sobre una base de datos ya existente. También tiene la funcionalidad de crear la base de datos a partir de la información disponible.