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 voidapplyNaturalIdRestriction(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 EntityMappingTypeprotected <R> RexecuteNaturalIdQuery(Object naturalIdValue, LockOptions lockOptions, SelectStatement sqlSelect, TableGroup rootTableGroup, Consumer<Predicate> predicateConsumer, LoaderSqlAstCreationState sqlAstCreationState, SharedSessionContractImplementor session) The value-mapping loaded by this loaderload(Object naturalIdValue, NaturalIdLoadOptions options, SharedSessionContractImplementor session) Perform the load of the entity by its natural-idprotected NaturalIdMappingprotected ExpressionresolveColumnReference(TableGroup rootTableGroup, SelectableMapping selectableMapping, SqlExpressionResolver sqlExpressionResolver) 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 value
-
Constructor Details
-
AbstractNaturalIdLoader
public AbstractNaturalIdLoader(NaturalIdMapping naturalIdMapping, EntityMappingType entityDescriptor)
-
-
Method Details
-
entityDescriptor
-
naturalIdMapping
-
getLoadable
Description copied from interface:LoaderThe value-mapping loaded by this loader- Specified by:
getLoadablein interfaceEntityLoader- Specified by:
getLoadablein interfaceLoader
-
resolveColumnReference
protected Expression resolveColumnReference(TableGroup rootTableGroup, SelectableMapping selectableMapping, SqlExpressionResolver sqlExpressionResolver) Helper to resolve ColumnReferences
-