Package org.hibernate.engine.internal
package org.hibernate.engine.internal
Support for many of the internal workings of Hibernate.
See also the org.hibernate.internal
package.
-
ClassDescriptionA base implementation of
EntityEntry
.Represents a boolean flag stored within a number value, using one bit at a specified offset.AbstractEntityEntry.EnumState<E extends Enum<E>>Represents an enum value stored within a number value, using four bits starting at a specified offset.Delegate responsible for, in conjunction with the various actions, implementing cascade processing.Describes the point at which a cascade is occurringImplements book-keeping for the collection persistence by reachability algorithmDefines a context for maintaining the relation between an entity associated with theSession
ultimately owning thisEntityEntryContext
instance and that entity's correspondingEntityEntry
.Used in building theEntityEntryContext.reentrantSafeEntityEntries()
entriesContains optional state fromEntityEntry
.Algorithms related to foreign key constraint transparencyDelegate for handling nullifying ("null"ing-out) non-cascaded associationsAnEntityEntry
implementation for immutable entities.Factory for the safe approach implementation ofEntityEntry
.This is a helper to encapsulate an optimal strategy to execute type checks for interfaces which attempts to avoid the performance issues tracked as JDK-8180450; the problem is complex and explained better on the OpenJDK tracker; we'll focus on a possible solution here.This interface has been introduced to mitigate JDK-8180450.
Sadly, usingBiConsumer
will trigger a type pollution issue because of generics type-erasure:BiConsumer
's actual parameters types on the lambda implemention'sBiConsumer.accept(T, U)
are stealthy enforced viacheckcast
, messing up with type check cached data.AnEntityEntry
implementation for mutable entities.Factory for the safe approach implementation ofEntityEntry
.Tracks non-nullable transient entities that would cause a particular entity insert to fail.Implements the algorithm for validating property values for illegal null valuesA stateful implementation of thePersistenceContext
contract, meaning that we maintain this state throughout the life of the persistence context.Tracks and logs certain session-level metrics.Functionality relating to the Hibernate two-phase loading process, that may be reused by persisters that do not use the Loader frameworkHelper for dealing with unsaved value handlingUtilities for dealing with optimistic locking values.