Packages 
Package Description
org.hibernate
This package defines the central Hibernate APIs, beginning with Session and SessionFactory.
org.hibernate.action.spi
Defines SPI hooks into the ActionQueue, mainly for registering custom AfterTransactionCompletionProcess and BeforeTransactionCompletionProcess hooks.
org.hibernate.annotations
A set of mapping annotations which extend the O/R mapping annotations defined by JPA.
org.hibernate.binder
This package defines an easy way to extend Hibernate with user-defined annotations that define customized O/R mappings of annotated entity attributes.
org.hibernate.boot
This package contains the contracts that make up the bootstrap API for Hibernate.
org.hibernate.boot.archive.scan.spi  
org.hibernate.boot.archive.spi  
org.hibernate.boot.beanvalidation
Support for integrating Jakarta Bean Validation
org.hibernate.boot.cfgxml.spi  
org.hibernate.boot.jaxb
JAXB support for orm.xml and hbm.xml mapping files
org.hibernate.boot.jaxb.cfg.spi  
org.hibernate.boot.jaxb.hbm.spi  
org.hibernate.boot.jaxb.hbm.transform  
org.hibernate.boot.jaxb.mapping  
org.hibernate.boot.jaxb.mapping.marshall  
org.hibernate.boot.jaxb.spi  
org.hibernate.boot.model
Package defining Hibernate's boot-time metamodel, which is an understanding of the application's domain model (its entities, attributes, etc.) and the mapping of those "domain model parts" to the database.
org.hibernate.boot.model.convert.spi  
org.hibernate.boot.model.naming
Represents a proposed new approach to allowing hooks into the process of determining the name of database objects (tables, columns, constraints, etc).
org.hibernate.boot.model.process.spi  
org.hibernate.boot.model.relational  
org.hibernate.boot.model.source.spi  
org.hibernate.boot.query
Support for handling named queries during the bootstrap process.
org.hibernate.boot.registry
Defines service registry contracts application are likely to want to utilize for configuring Hibernate behavior.
org.hibernate.boot.registry.classloading.spi
The class loading service SPI.
org.hibernate.boot.registry.selector
Defines a feature-set around named registration of implementations of various contracts and the ability to select those implementations.
org.hibernate.boot.registry.selector.spi
Defines actual contract used for strategy selection : StrategySelector.
org.hibernate.boot.spi  
org.hibernate.boot.xsd
Support for XSD handling
org.hibernate.bytecode
This package defines an SPI for integrating bytecode libraries with Hibernate.
org.hibernate.bytecode.enhance.spi
package defining bytecode code enhancement (instrumentation) support.
org.hibernate.bytecode.enhance.spi.interceptor
interceptor implementations
org.hibernate.bytecode.spi
Package defining bytecode code enhancement (instrumentation) support.
org.hibernate.cache
This package defines the API of the second-level cache service.
org.hibernate.cache.cfg.spi  
org.hibernate.cache.spi
Defines the integration aspect of Hibernate's second-level caching, allowing a "caching backend" to be plugged in as a cache provider.
org.hibernate.cache.spi.access
Defines contracts for transactional and concurrent access to cached entity and collection data.
org.hibernate.cache.spi.entry
This package defines formats for disassembled state kept in the second level cache.
org.hibernate.cache.spi.support
Package intended for simplifying the worked needed to implement a caching provider.
org.hibernate.cfg
This package defines APIs for configuring Hibernate.
org.hibernate.classic
This package historically provided backward-compatibility with Hibernate 2.1 APIs which were deprecated in Hibernate 3.
org.hibernate.collection.spi
SPI definitions for persistent collections.
org.hibernate.context
Contains SPIs which define: the notion of a context-bound or "current" session, and the notion of a "current" tenant id.
org.hibernate.context.spi
SPI-level contracts around "current session" and "current tenant" support.
org.hibernate.dialect
This package abstracts over the multifarious dialects of SQL understood by the databases supported by Hibernate.
org.hibernate.dialect.aggregate  
org.hibernate.dialect.function
Contains implementations of SqmFunctionDescriptor describing a range of relatively-sophisticated SQL functions available in various dialects.
org.hibernate.dialect.hint  
org.hibernate.dialect.identity  
org.hibernate.dialect.lock
Support for Dialect-specific locking strategies
org.hibernate.dialect.pagination
Support for Dialect-specific pagination strategies
org.hibernate.dialect.sequence  
org.hibernate.dialect.temptable  
org.hibernate.dialect.unique
Support for Dialect-specific unique constraint definition
org.hibernate.engine
This package contains classes which are "shared" by other packages, and implementations of some key algorithms.
org.hibernate.engine.config.spi
SPI Package for the configuration service.
org.hibernate.engine.jdbc
Support for various aspects of JDBC interaction
org.hibernate.engine.jdbc.batch  
org.hibernate.engine.jdbc.batch.spi
Defines contracts for JDBC batching support.
org.hibernate.engine.jdbc.connections.spi
Defines contracts for accessing JDBC Connections
org.hibernate.engine.jdbc.cursor.spi
Defines contracts for JDBC REF_CURSOR support.
org.hibernate.engine.jdbc.dialect.spi
Contracts supporting Dialect resolution (from JDBC metadata) and Dialect building.
org.hibernate.engine.jdbc.env.spi  
org.hibernate.engine.jdbc.mutation
Package defining support for performing mutation SQL (INSERT, UPDATE, DELETE) against an entity or collection
org.hibernate.engine.jdbc.mutation.group  
org.hibernate.engine.jdbc.mutation.spi  
org.hibernate.engine.jdbc.spi
SPI contracts for supporting various aspects of JDBC interaction
org.hibernate.engine.jndi
Support for JNDI within Hibernate
org.hibernate.engine.jndi.spi
The SPI contracts for Hibernate JNDI support
org.hibernate.engine.profile
Models the fetch profiles defined by the application
org.hibernate.engine.query  
org.hibernate.engine.query.spi
Defines support for query plans and stored metadata about queries
org.hibernate.engine.spi  
org.hibernate.engine.transaction.jta.platform.spi  
org.hibernate.engine.transaction.spi  
org.hibernate.event.service.spi  
org.hibernate.event.spi  
org.hibernate.exception
Defines certain very important flavors of JDBCException, along with an SPI for interpreting product-specific SQLExceptions arising from a JDBC driver into something more uniform and meaningful.
org.hibernate.exception.spi
An SPI for Dialect-specific exception interpretation and conversion.
org.hibernate.generator
This package defines an abstraction over all kinds of automatic value generation, including id generation and version number generation.
org.hibernate.grammars.graph  
org.hibernate.grammars.hql  
org.hibernate.grammars.importsql  
org.hibernate.grammars.ordering  
org.hibernate.graph
Implements and extends the JPA-defined entity graph API.
org.hibernate.graph.spi  
org.hibernate.id
This package contains the built-in id generators, all of which implement IdentifierGenerator or PostInsertIdentifierGenerator.
org.hibernate.id.enhanced
Enhanced/improved versions of table and sequence based identifier generators targeting portability and unified configuration
org.hibernate.id.factory  
org.hibernate.id.factory.spi  
org.hibernate.id.insert  
org.hibernate.id.uuid  
org.hibernate.integrator.spi  
org.hibernate.jdbc
Abstracts certain very specific aspects of the low-level interaction between Hibernate and JDBC.
org.hibernate.jpa
Responsible for dealing with certain details of compliance with the JPA specification, including: bootstrapping JPA, calling JPA event listeners, and managing cases where Hibernate intentionally violates the specification by default (something Hibernate only does if it has a really good reason to do so).
org.hibernate.jpa.boot.spi  
org.hibernate.jpa.event.spi
The SPI contracts for supporting JPA lifecycle callbacks.
org.hibernate.jpa.spi  
org.hibernate.loader
This package defines functionality for processing JDBC result sets and returning complex graphs of persistent objects.
org.hibernate.loader.ast.spi  
org.hibernate.mapping
This package defines the Hibernate configuration-time mapping model.
org.hibernate.metadata
This package defines an API for accessing details about model mapping.
org.hibernate.metamodel
This package defines an API for accessing the runtime metamodel describing persistent entities in Java and their mappings to the relational database schema.
org.hibernate.metamodel.mapping
Defines the runtime mapping metamodel, which describes the mapping of the application's domain model parts (entities, attributes) to relational database objects (tables, columns).
org.hibernate.metamodel.mapping.ordering
Support for set and map ordering
org.hibernate.metamodel.mapping.ordering.ast  
org.hibernate.metamodel.model.convert.spi  
org.hibernate.metamodel.model.domain
Defines the runtime domain metamodel, which describes the Java aspect of the application's domain model parts (entities, attributes).
org.hibernate.metamodel.model.domain.spi  
org.hibernate.metamodel.spi  
org.hibernate.persister.collection
This package abstracts persistence mechanisms for collections.
org.hibernate.persister.collection.mutation
Defines support for performing mutation operations against collections.
org.hibernate.persister.entity
This package abstracts persistence mechanisms for entities.
org.hibernate.persister.entity.mutation
Defines support for performing mutation operations originating from persistence-context events
org.hibernate.persister.spi  
org.hibernate.persister.walking.spi
Package for "walking" associations through metadata definition.
org.hibernate.pretty
Contains some functions for pretty-printing things for exception and log messages.
org.hibernate.procedure
Defines support for executing database stored procedures and functions and accessing its outputs.
org.hibernate.procedure.spi  
org.hibernate.property.access.spi
Integration contracts related with PropertyAccessStrategy
org.hibernate.proxy
This package defines a framework for lazy-initializing entity proxies.
org.hibernate.proxy.map  
org.hibernate.proxy.pojo  
org.hibernate.proxy.pojo.bytebuddy  
org.hibernate.query
Everything related to HQL/JPQL, native SQL, and criteria queries.
org.hibernate.query.criteria
Hibernate's support for JPA criteria queries.
org.hibernate.query.criteria.spi  
org.hibernate.query.derived  
org.hibernate.query.hql
Package defining support for HQL queries (including supprt for JPQL as a subset of HQL).
org.hibernate.query.hql.spi  
org.hibernate.query.named
Support for named queries
org.hibernate.query.procedure  
org.hibernate.query.results
Support for defining result-set mappings used in NativeQuery and ProcedureCall / StoredProcedureQuery.
org.hibernate.query.results.complete
Support for immutable result/fetch builder graph nodes built from static sources such as JPA's SqlResultSetMapping or `hbm.xml` mapping <resultset/>.
org.hibernate.query.results.dynamic
Support for mutable result/fetch builder graphs nodes built dynamically via Hibernate's NativeQuery APIs
org.hibernate.query.results.implicit
Defines support for implicit ResultSet mappings.
org.hibernate.query.spi  
org.hibernate.query.sql
Package defining support for native SQL queries
org.hibernate.query.sql.spi  
org.hibernate.query.sqm  
org.hibernate.query.sqm.function  
org.hibernate.query.sqm.mutation.spi  
org.hibernate.query.sqm.produce.function
Package defining support for SqmFunctionDescriptor handling.
org.hibernate.query.sqm.spi
SPI-level SQM contracts
org.hibernate.query.sqm.sql
Package for the translation of SQM into SQL AST
org.hibernate.query.sqm.tree
This package contains the classes that make up the SQM tree nodes.
org.hibernate.query.sqm.tree.cte  
org.hibernate.query.sqm.tree.delete  
org.hibernate.query.sqm.tree.domain  
org.hibernate.query.sqm.tree.expression  
org.hibernate.query.sqm.tree.from  
org.hibernate.query.sqm.tree.insert  
org.hibernate.query.sqm.tree.jpa  
org.hibernate.query.sqm.tree.predicate  
org.hibernate.query.sqm.tree.select  
org.hibernate.query.sqm.tree.update  
org.hibernate.relational
Programmatic access to the schema management tool.
org.hibernate.resource.beans.container.spi  
org.hibernate.resource.beans.spi  
org.hibernate.resource.jdbc
A facility for managing JDBC connections and other heavyweight resources.
org.hibernate.resource.jdbc.spi  
org.hibernate.resource.transaction
Defines the resource-level transaction capabilities of Hibernate, which revolves around the TransactionCoordinator contract.
org.hibernate.resource.transaction.backend.jdbc.spi  
org.hibernate.resource.transaction.spi
Extended SPI contracts for the resource-level transaction capabilities of Hibernate.
org.hibernate.result
Defines support for dealing with database results, accounting for mixed result sets and update counts hiding the complexity of how this is exposed via the JDBC API.
org.hibernate.result.spi  
org.hibernate.service
Defines a framework for pluggable services, allowing for customization of key components of Hibernate, and abstraction of these components as SPI interfaces.
org.hibernate.service.spi  
org.hibernate.spi
A tiny SPI for dealing with compound names.
org.hibernate.sql
This package defines helper classes for rendering SQL fragments and SQL statements.
org.hibernate.sql.ast
Package defining a SQL AST for use in creating and executing various JDBC operations
org.hibernate.sql.ast.spi
Package defining support for creating and consuming SQL AST
org.hibernate.sql.ast.tree
Package defining the SQL AST.
org.hibernate.sql.ast.tree.cte  
org.hibernate.sql.ast.tree.delete  
org.hibernate.sql.ast.tree.expression
Contracts related to expressions in a SQL tree
org.hibernate.sql.ast.tree.from  
org.hibernate.sql.ast.tree.insert  
org.hibernate.sql.ast.tree.predicate  
org.hibernate.sql.ast.tree.select  
org.hibernate.sql.ast.tree.update  
org.hibernate.sql.exec
Package defining support for execution of SQL statements through JDBC.
org.hibernate.sql.exec.spi  
org.hibernate.sql.model
Package contains specialized SQL AST nodes and builders for table mutations for model parts originating from normal persistence-context events related to flush, etc.
org.hibernate.sql.model.ast
SQL AST extensions for model mutations
org.hibernate.sql.model.ast.builder
Support for building TableMutation references for persisting entity mutation events
org.hibernate.sql.model.jdbc
Extensions to JdbcOperation for model mutations
org.hibernate.sql.results
Package for processing JDBC ResultSets into hydrated domain model graphs based on a "load plan" defined by a "domain result graph" - one or more DomainResult nodes with zero-or-more Fetch nodes
org.hibernate.sql.results.caching
Support for caching of query results
org.hibernate.sql.results.graph  
org.hibernate.sql.results.graph.basic  
org.hibernate.sql.results.graph.collection  
org.hibernate.sql.results.graph.embeddable  
org.hibernate.sql.results.graph.entity  
org.hibernate.sql.results.graph.instantiation  
org.hibernate.sql.results.graph.tuple  
org.hibernate.sql.results.jdbc.spi  
org.hibernate.sql.results.spi  
org.hibernate.stat
This package exposes statistics about a running instance of SessionFactory and its interaction with the database and second-level cache.
org.hibernate.stat.spi  
org.hibernate.tool.schema
Contains tooling related to DDL generation, export, migration, and validation.
org.hibernate.tool.schema.extract.spi  
org.hibernate.tool.schema.spi  
org.hibernate.transform
Defines strategies for post-processing criteria query results into a form convenient to the application.
org.hibernate.tuple
Most contracts here have been replaced by Hibernate's mapping-model.
org.hibernate.tuple.component  
org.hibernate.tuple.entity  
org.hibernate.type
A Hibernate Type is a strategy for mapping a Java property type to a JDBC type or types.
org.hibernate.type.descriptor  
org.hibernate.type.descriptor.converter
Support for handling JPA AttributeConverter instances as part of the Hibernate Type system.
org.hibernate.type.descriptor.java
Integrates a range of types defined by the JDK with the type system of Hibernate.
org.hibernate.type.descriptor.java.spi  
org.hibernate.type.descriptor.jdbc
Defines handling of almost the full range of standard JDBC-defined SQL data types.
org.hibernate.type.descriptor.jdbc.spi  
org.hibernate.type.descriptor.sql  
org.hibernate.type.descriptor.sql.spi  
org.hibernate.type.jackson  
org.hibernate.type.jakartajson  
org.hibernate.type.jaxb  
org.hibernate.type.spi  
org.hibernate.usertype
An API for user-defined custom types.