Object relational mapping is based on the containerization of objects and the abstraction that provides that capacity. Abstraction makes it possible to address, access and manipulate objects without having to consider how they are related to their data sources. The Hibernate ORM framework guides mapping Java classes to database tables and Java data types to SQL data types and provides querying and retrieval.
Any changes made are encapsulated in the data source itself, so that when those sources or their APIs change, the applications that use ORM don’t have to make changes or even be aware of that information. Similarly, programmers can have a consistent view of objects over time, although the sources that deliver them, the sinks that receive them and the applications that access them may change.
Hibernate is freely available to download and is licensed under the open source GNU Lesser General Public License (LGPL).