Class AbstractNaturalIdLoader<T>
java.lang.Object
org.hibernate.loader.ast.internal.AbstractNaturalIdLoader<T>
- All Implemented Interfaces:
EntityLoader
,Loader
,MultiKeyLoader
,NaturalIdLoader<T>
- Direct Known Subclasses:
CompoundNaturalIdLoader
,SimpleNaturalIdLoader
Base support for
NaturalIdLoader
implementations-
Constructor Summary
ConstructorsConstructorDescriptionAbstractNaturalIdLoader
(NaturalIdMapping naturalIdMapping, EntityMappingType entityDescriptor) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
applyNaturalIdRestriction
(Object bindValue, TableGroup rootTableGroup, Consumer<Predicate> predicateConsumer, BiConsumer<JdbcParameter, JdbcParameterBinding> jdbcParameterConsumer, LoaderSqlAstCreationState sqlAstCreationState, SharedSessionContractImplementor session) Apply restriction necessary to match the given natural-id value.protected EntityMappingType
The value-mapping loaded by this loaderload
(Object naturalIdValue, NaturalIdLoadOptions options, SharedSessionContractImplementor session) Perform the load of the entity by its natural-idprotected NaturalIdMapping
protected Expression
resolveColumnReference
(TableGroup rootTableGroup, SelectableMapping selectableMapping, SqlExpressionResolver sqlExpressionResolver, SessionFactoryImplementor sessionFactory) Helper to resolve ColumnReferencesresolveIdToNaturalId
(Object id, SharedSessionContractImplementor session) Resolve the natural-id value(s) from an idresolveNaturalIdToId
(Object naturalIdValue, SharedSessionContractImplementor session) Resolve the id from natural-id valueprotected <L> L
selectByNaturalId
(Object bindValue, NaturalIdLoadOptions options, BiFunction<TableGroup, LoaderSqlAstCreationState, DomainResult<?>> domainResultProducer, LoaderSqlAstCreationState.FetchProcessor fetchProcessor, Function<Boolean, Long> statementStartHandler, BiConsumer<Object, Long> statementCompletionHandler, SharedSessionContractImplementor session) Perform a select, restricted by natural-id, based on `domainResultProducer` and `fetchProcessor`
-
Constructor Details
-
AbstractNaturalIdLoader
public AbstractNaturalIdLoader(NaturalIdMapping naturalIdMapping, EntityMappingType entityDescriptor)
-
-
Method Details
-
entityDescriptor
-
naturalIdMapping
-
getLoadable
Description copied from interface:Loader
The value-mapping loaded by this loader- Specified by:
getLoadable
in interfaceEntityLoader
- Specified by:
getLoadable
in interfaceLoader
-
resolveColumnReference
protected Expression resolveColumnReference(TableGroup rootTableGroup, SelectableMapping selectableMapping, SqlExpressionResolver sqlExpressionResolver, SessionFactoryImplementor sessionFactory) Helper to resolve ColumnReferences
-