Hibernate is an object-relational mapping framework for Java.

It allows an object-oriented domain model to be mapped to a relational database.

This includes providing data query and retrieval facilities, with the ability to generate SQL calls and prevent developers from having to manually handle and object convert the result set.

The user creates an XML "mapping document" telling Hibernate the classes they want to store in a database, specifying how these relate to the tables and columns in that database.