This document discusses using Hibernate ORM for object-relational mapping in Java. It describes what ORM is and how Hibernate provides a mapping specification to define associations between objects and database tables. The mapping is defined declaratively in XML and Hibernate supports generation of database schemas and Java POJOs from these mappings. Examples are provided of common association types like one-to-one, one-to-many, and many-to-many defined between mapped classes. Bidirectional and unidirectional mappings are demonstrated. The conclusions emphasize that the mapping specification defines the semantics of associations and allows modeling in a declarative way that Hibernate can use for code generation tasks.