# Hibernate JavaDoc (4.1.2.Final)

Aggregated Hibernate O/RM JavaDocs

See:
Description

API
org.hibernate: This package defines the central Hibernate APIs.
org.hibernate.annotations
org.hibernate.cache: This package defines API of the Hibernate second level cache service.
org.hibernate.cache.ehcache
org.hibernate.cache.ehcache.management.impl
org.hibernate.cache.infinispan
org.hibernate.cache.infinispan.access
org.hibernate.cache.infinispan.collection
org.hibernate.cache.infinispan.entity
org.hibernate.cache.infinispan.impl
org.hibernate.cache.infinispan.naturalid
org.hibernate.cache.infinispan.query
org.hibernate.cache.infinispan.timestamp
org.hibernate.cache.infinispan.tm
org.hibernate.cache.infinispan.util
org.hibernate.cfg: This package defines APIs for configuring Hibernate, and classes for building the Hibernate configuration-time metamodel.
org.hibernate.cfg.annotations
org.hibernate.cfg.annotations.reflection
org.hibernate.cfg.beanvalidation
org.hibernate.classic: This package implements backward-compatibility with Hibernate 2.1 APIs now deprecated in Hibernate3.
org.hibernate.context
org.hibernate.criterion: A framework for defining restriction criteria and order criteria.
org.hibernate.dialect: This package abstracts the SQL dialect of the underlying database.
org.hibernate.dialect.function: A framework for defining database-specific SQL functions that are available via the dialect.
org.hibernate.dialect.lock
org.hibernate.dialect.resolver
org.hibernate.ejb
org.hibernate.ejb.connection
org.hibernate.ejb.criteria
org.hibernate.ejb.criteria.expression
org.hibernate.ejb.criteria.expression.function
org.hibernate.ejb.criteria.path
org.hibernate.ejb.criteria.predicate
org.hibernate.ejb.event
org.hibernate.ejb.instrument
org.hibernate.ejb.metamodel
org.hibernate.ejb.packaging
org.hibernate.ejb.util
org.hibernate.engine: This package contains classes that are "shared" by other packages, and implementations of some key algorithms.
org.hibernate.engine.jdbc
org.hibernate.engine.profile
org.hibernate.envers
org.hibernate.envers.ant
org.hibernate.envers.configuration
org.hibernate.envers.configuration.metadata
org.hibernate.envers.configuration.metadata.reader
org.hibernate.envers.entities
org.hibernate.envers.entities.mapper
org.hibernate.envers.entities.mapper.id
org.hibernate.envers.entities.mapper.relation
org.hibernate.envers.entities.mapper.relation.component
org.hibernate.envers.entities.mapper.relation.lazy
org.hibernate.envers.entities.mapper.relation.lazy.initializor
org.hibernate.envers.entities.mapper.relation.lazy.proxy
org.hibernate.envers.entities.mapper.relation.query
org.hibernate.envers.event
org.hibernate.envers.exception
org.hibernate.envers.query
org.hibernate.envers.query.criteria
org.hibernate.envers.query.impl
org.hibernate.envers.query.order
org.hibernate.envers.query.projection
org.hibernate.envers.query.property
org.hibernate.envers.reader
org.hibernate.envers.revisioninfo
org.hibernate.envers.strategy
org.hibernate.envers.synchronization
org.hibernate.envers.synchronization.work
org.hibernate.envers.tools
org.hibernate.envers.tools.graph
org.hibernate.envers.tools.query
org.hibernate.envers.tools.reflection
org.hibernate.exception: This package is a fork of Apache commons-lang nestable exceptions.
org.hibernate.id: This package contains internal implementation classes for the main API interfaces.
org.hibernate.id.enhanced
org.hibernate.id.factory
org.hibernate.id.insert
org.hibernate.id.uuid
org.hibernate.jdbc: Essentially defines `Work`, `ReturningWork` and `Expectation` as well as some exceptions
org.hibernate.jmx: This package exposes a Hibernate instance via JMX.
org.hibernate.loader: This package defines functionality for processing JDBC result sets and returning complex graphs of persistent objects.
org.hibernate.loader.collection: This package defines collection initializers
org.hibernate.loader.criteria: This package defines the criteria query compiler and loader
org.hibernate.loader.custom: This package defines a framework for custom loaders that accept handwritten SQL
org.hibernate.loader.custom.sql
org.hibernate.loader.entity: This package defines entity loaders
org.hibernate.loader.hql: This package defines a loader for the AST-based query parser
org.hibernate.lob
org.hibernate.mapping: This package defines the Hibernate configuration-time metamodel.
org.hibernate.metadata: This package defines an API for accessing the Hibernate runtime metamodel.
org.hibernate.metamodel: NOTE: This package is currently unfinished and therefore considered experimental and unsupported.
org.hibernate.metamodel.binding
org.hibernate.metamodel.domain: This package defines metadata modeling of a logical domain model.
org.hibernate.metamodel.relational: This package defines the metamodel of a relational database schema.
org.hibernate.metamodel.relational.state
org.hibernate.metamodel.source
org.hibernate.metamodel.source.annotations
org.hibernate.metamodel.source.annotations.attribute
org.hibernate.metamodel.source.annotations.attribute.type
org.hibernate.metamodel.source.annotations.entity
org.hibernate.metamodel.source.annotations.global
org.hibernate.metamodel.source.annotations.xml
org.hibernate.metamodel.source.annotations.xml.filter
org.hibernate.metamodel.source.annotations.xml.mocker
org.hibernate.metamodel.source.binder
org.hibernate.metamodel.source.hbm
org.hibernate.param
org.hibernate.persister.collection: This package abstracts the persistence mechanism for collections.
org.hibernate.persister.entity: This package abstracts persistence mechanisms for entities, and defines the Hibernate runtime metamodel.
org.hibernate.pretty: Classes for pretty printing things for exception and log messages.
org.hibernate.property: This package abstracts the notion of a "property" of an entity.
org.hibernate.proxy: This package defines a framework for lazy-initializing entity proxies.
org.hibernate.proxy.dom4j
org.hibernate.proxy.map
org.hibernate.proxy.pojo
org.hibernate.proxy.pojo.javassist
org.hibernate.service
org.hibernate.service.jndi
org.hibernate.sql: This package defines helper classes for rendering SQL fragments and SQL statements.
org.hibernate.sql.ordering.antlr
org.hibernate.stat: This package exposes statistics about a running Hibernate instance to the application.
org.hibernate.tool
org.hibernate.tool.ant
org.hibernate.tool.hbm2ddl: The `hbm2ddl` tool.
org.hibernate.tool.instrument: The `instrument` tool for adding field-interception hooks to persistent classes using built-time bytecode processing.
org.hibernate.tool.instrument.javassist
org.hibernate.transaction: This package abstracts the underlying transaction mechanism (JTA or JDBC) and provides strategies for obtaining application server `TransactionManager`s.
org.hibernate.transform: Defines strategies for post-processing criteria query result sets into a form convenient to the application.
org.hibernate.tuple: This package defines a runtime metamodel for entities at the object level and abstracts the differences between the various entity modes.
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.java
org.hibernate.type.descriptor.sql: Defines handling of the standard `JDBC`-defined types, as declared by `Types`.
org.hibernate.usertype: Interfaces for user-defined custom types.

SPI
org.hibernate.action.spi
org.hibernate.bytecode.buildtime.spi
org.hibernate.bytecode.instrumentation.spi
org.hibernate.bytecode.spi
org.hibernate.cache.spi: Defines the Hibernate second level caching SPI.
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.collection.spi
org.hibernate.context.spi
org.hibernate.ejb.cfg.spi
org.hibernate.engine.jdbc.batch.spi
org.hibernate.engine.jdbc.spi
org.hibernate.engine.query.spi
org.hibernate.engine.query.spi.sql
org.hibernate.engine.spi
org.hibernate.engine.transaction.spi
org.hibernate.engine.transaction.synchronization.spi
org.hibernate.event.service.spi
org.hibernate.event.spi
org.hibernate.exception.spi
org.hibernate.hql.spi
org.hibernate.id.factory.spi
org.hibernate.integrator.spi
org.hibernate.persister.spi
org.hibernate.service.classloading.spi
org.hibernate.service.config.spi
org.hibernate.service.jdbc.connections.spi
org.hibernate.service.jdbc.dialect.spi
org.hibernate.service.jmx.spi
org.hibernate.service.jndi.spi
org.hibernate.service.jta.platform.spi
org.hibernate.service.spi
org.hibernate.stat.spi

Internal
org.hibernate.action.internal
org.hibernate.bytecode.buildtime.internal
org.hibernate.bytecode.instrumentation.internal
org.hibernate.bytecode.instrumentation.internal.javassist
org.hibernate.bytecode.internal.javassist
org.hibernate.cache.ehcache.internal.nonstop
org.hibernate.cache.ehcache.internal.regions
org.hibernate.cache.ehcache.internal.strategy
org.hibernate.cache.ehcache.internal.util
org.hibernate.cache.internal
org.hibernate.collection.internal
org.hibernate.context.internal
org.hibernate.ejb.internal
org.hibernate.engine.internal
org.hibernate.engine.jdbc.batch.internal
org.hibernate.engine.jdbc.internal
org.hibernate.engine.jdbc.internal.proxy
org.hibernate.engine.loading.internal
org.hibernate.engine.transaction.internal
org.hibernate.engine.transaction.internal.jdbc
org.hibernate.engine.transaction.internal.jta
org.hibernate.engine.transaction.synchronization.internal
org.hibernate.envers.internal
org.hibernate.event.internal: This package defines a default set of event listeners that implements the default behaviors of Hibernate.
org.hibernate.event.service.internal
org.hibernate.exception.internal
org.hibernate.hql.internal
org.hibernate.hql.internal.antlr
org.hibernate.hql.internal.ast: An ANTLR-based parser for Hibernate Query Language.
org.hibernate.hql.internal.ast.exec
org.hibernate.hql.internal.ast.tree
org.hibernate.hql.internal.ast.util
org.hibernate.hql.internal.classic: This package contains the Hibernate 2.x query parser which is being end-of-lifed.
org.hibernate.id.factory.internal
org.hibernate.integrator.internal
org.hibernate.internal: An internal package containing mostly implementations of central Hibernate APIs.
org.hibernate.internal.jaxb
org.hibernate.internal.jaxb.cfg
org.hibernate.internal.jaxb.mapping.hbm
org.hibernate.internal.jaxb.mapping.orm
org.hibernate.internal.util: Internal utility classes.
org.hibernate.internal.util.beans
org.hibernate.internal.util.collections
org.hibernate.internal.util.compare
org.hibernate.internal.util.config
org.hibernate.internal.util.io
org.hibernate.internal.util.jndi
org.hibernate.internal.util.xml
org.hibernate.metamodel.source.internal
org.hibernate.persister.internal
org.hibernate.secure.internal
org.hibernate.service.classloading.internal
org.hibernate.service.config.internal
org.hibernate.service.internal
org.hibernate.service.jdbc.connections.internal
org.hibernate.service.jdbc.dialect.internal
org.hibernate.service.jmx.internal
org.hibernate.service.jndi.internal
org.hibernate.service.jta.platform.internal
org.hibernate.stat.internal

Testing Support
org.hibernate.testing
org.hibernate.testing.async
org.hibernate.testing.byteman
org.hibernate.testing.cache
org.hibernate.testing.env
org.hibernate.testing.jta
org.hibernate.testing.junit4

## Aggregated Hibernate O/RM JavaDocs

Hibernate provides both

- a native API comprised centrally around `SessionFactory` and `Session`
- an implementation of the JSR-317 Java Persistence API (JPA) specification comprised centrally around `EntityManagerFactoryImpl` and `EntityManagerImpl` (the Hibernate implementations of `EntityManager` and `EntityManagerFactory`, respectively)

### Native API

In addition to SessionFactory and Session, applications using the native API will often utilize the following interfaces:

- `Configuration`
- `Transaction`
- `Query`
- `Criteria`
- `Projection`
- `Projections`
- `Criterion`
- `Restrictions`
- `Order`
- `Example`

These interfaces are fully intended to be exposed to application code.

### JPA

The JPA interfaces are all defined by the JPA specification. For details see `javax.persistence`

### Package Groups

This documentation groups packages into the following 3 categories:

- API - classes to which application code will generally bind directly.
- SPI - classes to which application developers or integrators will commonly bind directly in order to develop extensions to Hibernate, or to alter its behavior in some way.
- Internal - classes which are intended only to be used by Hibernate. Use of these classes outside of Hibernate specific use cases is not supported. Moreover, these contracts can change frequently between releases whereas APIs and SPIs are more stable.

Additionally, we highlight a 4th category Testing Support which is a set of classes useful for building Hibernate test cases.

Complete Hibernate documentation may be found online at http://docs.jboss.org/hibernate/

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.