1. Obtaining Hibernate

1.1. The Hibernate Modules/Artifacts

Hibernate’s functionality is split into a number of modules/artifacts meant to isolate dependencies (modularity).

hibernate-core

The main (core) Hibernate module. Defines its ORM features and APIs as well as the various integration SPIs.

hibernate-envers

Hibernate’s historical entity versioning feature

hibernate-spatial

Hibernate’s Spatial/GIS data-type support

hibernate-osgi

Hibernate support for running in OSGi containers.

hibernate-agroal

Integrates the Agroal connection pooling library into Hibernate

hibernate-c3p0

Integrates the C3P0 connection pooling library into Hibernate

hibernate-hikaricp

Integrates the HikariCP connection pooling library into Hibernate

hibernate-vibur

Integrates the Vibur DBCP connection pooling library into Hibernate

hibernate-proxool

Integrates the Proxool connection pooling library into Hibernate

hibernate-jcache

Integrates the JCache caching specification into Hibernate, enabling any compliant implementation to become a second-level cache provider.

hibernate-ehcache

Integrates the Ehcache caching library into Hibernate as a second-level cache provider.

1.2. Release Bundle Downloads

The Hibernate team provides release bundles hosted on the SourceForge File Release System, in both TGZ and ZIP formats. Each release bundle contains JAR files, documentation, source code, and other goodness.

You can download releases of Hibernate, in your chosen format, from the list at https://sourceforge.net/projects/hibernate/files/hibernate-orm/. The release bundle is structured as follows:

  • The lib/required/ directory contains the hibernate-core jar and all of its dependencies. All of these jars are required to be available on your classpath no matter which features of Hibernate are being used.

  • The lib/envers directory contains the hibernate-envers jar and all of its dependencies (beyond those in lib/required/ and lib/jpa/).

  • The lib/spatial/ directory contains the hibernate-spatial jar and all of its dependencies (beyond those in lib/required/)

  • The lib/osgi/ directory contains the hibernate-osgi jar and all of its dependencies (beyond those in lib/required/ and lib/jpa/)

  • The lib/jpa-metamodel-generator/ directory contains the jar needed for generating the Criteria API type-safe Metamodel.

  • The lib/optional/ directory contains the jars needed for the various connection pooling and second-level cache integrations provided by Hibernate, along with their dependencies.

1.3. Maven Repository Artifacts

The authoritative repository for Hibernate artifacts is the JBoss Maven repository. The Hibernate artifacts are synced to Maven Central as part of an automated job (some small delay may occur).

The team responsible for the JBoss Maven repository maintains a number of Wiki pages that contain important information:

The Hibernate ORM artifacts are published under the org.hibernate groupId.