## Package org.hibernate.engine

This package contains classes that are "shared" by other packages, and implementations of some key algorithms.

See:
Description

Interface Summary
HibernateIterator: An iterator that may be "closed"
JoinSequence.Selector
Mapping: Defines operations common to "compiled" mappings (ie.
NonFlushedChanges
ParameterBinder.NamedParameterSource
PersistenceContext: Holds the state of the persistence context, including the first-level cache, entries, snapshots, proxies, etc.
SessionFactoryImplementor: Defines the internal contract between the `SessionFactory` and other parts of Hibernate such as implementors of `Type`.
SessionImplementor: Defines the internal contract between the `Session` and other parts of Hibernate such as implementors of `Type` or `EntityPersister`.

Class Summary
ActionQueue: Responsible for maintaining the queue of actions related to events.
BatchFetchQueue: Tracks entity and collection keys that are available for batch fetching, and the queries which were used to load entities, which can be re-used as a subquery for loading owned collections.
Cascade: Delegate responsible for, in conjunction with the various `actions`, implementing cascade processing.
CascadeStyle: A contract for defining the aspects of cascading various persistence actions.
CascadeStyle.MultipleCascadeStyle
CascadingAction: A session action that may be cascaded from parent entity to its children
CollectionEntry: We need an entry to tell us all about the current state of a collection with respect to its persistent state
CollectionKey: Uniquely identifies a collection instance in a particular session.
Collections: Implements book-keeping for the collection persistence by reachability algorithm
EJB3CascadeStyle: Becasue CascadeStyle is not opened and package protected, I need to subclass and override the persist alias Note that This class has to be triggered by EJB3PersistEventListener at class loading time TODO get rid of it for 3.3
EJB3CascadingAction: Because of CascadingAction constructor visibility I need a packaged friendly subclass TODO Get rid of it for 3.3
EntityEntry: We need an entry to tell us all about the current state of an object with respect to its persistent state
EntityKey: Uniquely identifies of an entity instance in a particular session by identifier.
EntityUniqueKey: Used to uniquely key an entity instance in relation to a particular session by some unique property reference, as opposed to identifier.
ExecuteUpdateResultCheckStyle: For persistence operations (INSERT, UPDATE, DELETE) what style of determining results (success/failure) is to be used.
FilterDefinition: A FilterDefinition defines the global attributes of a dynamic filter.
ForeignKeys: Algorithms related to foreign key constraint transparency
ForeignKeys.Nullifier
IdentifierValue: A strategy for determining if an identifier value is an identifier of a new transient instance or a previously persistent transient instance.
JoinHelper
JoinSequence
LoadQueryInfluencers: Centralize all options which can influence the SQL query needed to load an entity.
NamedQueryDefinition: Definition of a named query, defined in the mapping metadata.
NamedSQLQueryDefinition: Definition of a named native SQL query, defined in the mapping metadata.
Nullability: Implements the algorithm for validating property values for illegal null values
ParameterBinder: Centralizes the commonality regarding binding of parameter values into PreparedStatements as this logic is used in many places.
QueryParameters
ResultSetMappingDefinition: Keep a description of the resultset mapping
RowSelection: Represents a selection of rows in a JDBC `ResultSet`
StatefulPersistenceContext: A `PersistenceContext` represents the state of persistent "stuff" which Hibernate is tracking.
Status: Represents the status of an entity with respect to this session.
SubselectFetch
TransactionHelper: Allows work to be done outside the current transaction, by suspending it, and performing work in a new transaction
TwoPhaseLoad: Functionality relating to Hibernate's two-phase loading process, that may be reused by persisters that do not use the Loader framework
TypedValue: An ordered pair of a value and its Hibernate type.
UnsavedValueFactory
ValueInclusion: An enum of the different ways a value might be "included".
Versioning: Utilities for dealing with optimisitic locking values.
VersionValue: A strategy for determining if a version value is an version of a new transient instance or a previously persistent transient instance.

## Package org.hibernate.engine Description

This package contains classes that are "shared" by other packages, and implementations of some key algorithms.

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