This document provides an overview and tutorial for Hibernate, an open source object-relational mapping tool for Java. It begins with introductions to object-relational mapping, Hibernate's advantages, architecture, and environment setup. The bulk of the document then covers configuring Hibernate, using sessions to manage persistence, mapping Java objects to database tables, and examples of implementing different types of associations.