Top Description Fields Constructors Methods
org.hibernate.metamodel.mapping.internal

public Class BasicValuedCollectionPart

extends Object
implements CollectionPart, BasicValuedModelPart, FetchOptions
Class Inheritance
All Implemented Interfaces
org.hibernate.sql.results.graph.FetchOptions, org.hibernate.sql.results.graph.FetchStyleAccess, org.hibernate.sql.results.graph.FetchTimingAccess, org.hibernate.metamodel.mapping.BasicValuedModelPart, org.hibernate.metamodel.mapping.SelectableMapping, org.hibernate.metamodel.mapping.SqlTypedMapping, org.hibernate.sql.results.graph.Fetchable, org.hibernate.metamodel.mapping.ModelPart, org.hibernate.metamodel.mapping.MappingModelExpressible, org.hibernate.metamodel.mapping.Bindable, org.hibernate.metamodel.mapping.JdbcMappingContainer, org.hibernate.metamodel.mapping.ValuedModelPart, org.hibernate.metamodel.mapping.SelectableMappings, org.hibernate.metamodel.mapping.ValueMapping, org.hibernate.type.descriptor.java.JavaTypedExpressible, org.hibernate.metamodel.mapping.BasicValuedMapping, org.hibernate.metamodel.mapping.SqlExpressible, org.hibernate.metamodel.mapping.CollectionPart
Imports
java.util.function.BiConsumer, org.hibernate.engine.FetchStyle, .FetchTiming, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.internal.util.IndexedConsumer, org.hibernate.metamodel.mapping.BasicValuedModelPart, .CollectionPart, .EntityMappingType, .JdbcMapping, .MappingType, .SelectableConsumer, .SelectableMapping, org.hibernate.metamodel.model.domain.NavigableRole, org.hibernate.persister.collection.CollectionPersister, org.hibernate.spi.EntityIdentifierNavigablePath, .NavigablePath, org.hibernate.sql.ast.spi.SqlExpressionResolver, .SqlSelection, org.hibernate.sql.ast.tree.from.PluralTableGroup, .TableGroup, .TableReference, org.hibernate.sql.results.ResultsLogger, org.hibernate.sql.results.graph.DomainResult, .DomainResultCreationState, .Fetch, .FetchOptions, .FetchParent, org.hibernate.sql.results.graph.basic.BasicFetch, .BasicResult, org.hibernate.type.descriptor.java.JavaType

Models a basic collection element/value or index/key
Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final CollectionPersister
private final CollectionPart.Nature
private final SelectableMapping

Constructor Summary

AccessConstructor and Description
public
BasicValuedCollectionPart(CollectionPersister collectionDescriptor, CollectionPart.Nature nature, SelectableMapping selectableMapping)

Method Summary

Modifier and TypeMethod and Description
public void
applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState)

Implements org.hibernate.metamodel.mapping.ModelPart.applySqlSelections.

Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.
public void
applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState, BiConsumer<SqlSelection, JdbcMapping> selectionConsumer)

Implements org.hibernate.metamodel.mapping.ModelPart.applySqlSelections.

Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.
public <X, Y> int
breakDownJdbcValues(Object domainValue, int offset, X x, Y y, ModelPart.JdbcValueBiConsumer<X, Y> valueConsumer, SharedSessionContractImplementor session)

Implements org.hibernate.metamodel.mapping.ModelPart.breakDownJdbcValues.

Breaks down the domain value to its constituent JDBC values.
public <T> DomainResult<T>
createDomainResult(NavigablePath navigablePath, TableGroup tableGroup, String resultVariable, DomainResultCreationState creationState)

Implements org.hibernate.metamodel.mapping.ModelPart.createDomainResult.

Create a DomainResult for a specific reference to this ModelPart.
public <X, Y> int
decompose(Object domainValue, int offset, X x, Y y, ModelPart.JdbcValueBiConsumer<X, Y> valueConsumer, SharedSessionContractImplementor session)

Overrides default org.hibernate.metamodel.mapping.ModelPart.decompose.

Similar to breakDownJdbcValues(Object, int, Object, Object, JdbcValueBiConsumer, SharedSessionContractImplementor), but this method is supposed to be used for decomposing values for assignment expressions.
public EntityMappingType
public <X, Y> int
public int
forEachJdbcType(int offset, IndexedConsumer<JdbcMapping> action)

Implements org.hibernate.metamodel.mapping.JdbcMappingContainer.forEachJdbcType.

Visit each JdbcMapping starting from the given offset
public int
public Fetch
generateFetch(FetchParent
The parent of the Fetch we are generating
fetchParent
,
NavigablePath
The overall path within the graph
fetchablePath
,
FetchTiming
The requested fetch timing
fetchTiming
,
boolean selected, String resultVariable, DomainResultCreationState creationState)

Implements org.hibernate.sql.results.graph.Fetchable.generateFetch.

Generates a Fetch of this fetchable
public String
public String
public String
getCustomReadExpression()

Implements org.hibernate.metamodel.mapping.SelectableMapping.getCustomReadExpression.

The selection's read expression accounting for formula treatment as well as ColumnTransformer#read()
public String
public int
public String
public JavaType<?>
getJavaType()

Implements org.hibernate.metamodel.mapping.ModelPart.getJavaType.

The Java type for this part.
public JdbcMapping
public JdbcMapping
public Long
public FetchOptions
public MappingType
getMappedType()

Implements org.hibernate.metamodel.mapping.ValueMapping.getMappedType.

Descriptor for the type of this mapping
public CollectionPart.Nature
public NavigableRole
public MappingType
public Integer
public Integer
public String
public JdbcMapping
public FetchStyle
public FetchTiming
public boolean
isFormula()

Implements org.hibernate.metamodel.mapping.SelectableMapping.isFormula.

Is the mapping a formula instead of a physical column?
public boolean
public boolean
isNullable()

Implements org.hibernate.metamodel.mapping.SelectableMapping.isNullable.

Is the mapping considered nullable?
public boolean
public boolean
private SqlSelection
resolveSqlSelection(NavigablePath navigablePath, TableGroup tableGroup, FetchParent fetchParent, DomainResultCreationState creationState)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

collectionDescriptorback to summary
private final CollectionPersister collectionDescriptor
natureback to summary
private final CollectionPart.Nature nature
selectableMappingback to summary
private final SelectableMapping selectableMapping

Constructor Detail

BasicValuedCollectionPartback to summary
public BasicValuedCollectionPart(CollectionPersister collectionDescriptor, CollectionPart.Nature nature, SelectableMapping selectableMapping)

Method Detail

applySqlSelectionsback to summary
public void applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState)

Implements org.hibernate.metamodel.mapping.ModelPart.applySqlSelections.

Doc from org.hibernate.metamodel.mapping.ModelPart.applySqlSelections.

Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.

Annotations
@Override
applySqlSelectionsback to summary
public void applySqlSelections(NavigablePath navigablePath, TableGroup tableGroup, DomainResultCreationState creationState, BiConsumer<SqlSelection, JdbcMapping> selectionConsumer)

Implements org.hibernate.metamodel.mapping.ModelPart.applySqlSelections.

Doc from org.hibernate.metamodel.mapping.ModelPart.applySqlSelections.

Apply SQL selections for a specific reference to this ModelPart outside the domain query's root select clause.

Annotations
@Override
breakDownJdbcValuesback to summary
public <X, Y> int breakDownJdbcValues(Object domainValue, int offset, X x, Y y, ModelPart.JdbcValueBiConsumer<X, Y> valueConsumer, SharedSessionContractImplementor session)

Implements org.hibernate.metamodel.mapping.ModelPart.breakDownJdbcValues.

Doc from org.hibernate.metamodel.mapping.ModelPart.breakDownJdbcValues.

Breaks down the domain value to its constituent JDBC values. Think of it as breaking the multi-dimensional array into a visitable flat array. Additionally, it passes through the values X and Y to the consumer. Returns the amount of jdbc types that have been visited.

Annotations
@Override
createDomainResultback to summary
public <T> DomainResult<T> createDomainResult(NavigablePath navigablePath, TableGroup tableGroup, String resultVariable, DomainResultCreationState creationState)

Implements org.hibernate.metamodel.mapping.ModelPart.createDomainResult.

Doc from org.hibernate.metamodel.mapping.ModelPart.createDomainResult.

Create a DomainResult for a specific reference to this ModelPart.

Annotations
@Override
decomposeback to summary
public <X, Y> int decompose(Object domainValue, int offset, X x, Y y, ModelPart.JdbcValueBiConsumer<X, Y> valueConsumer, SharedSessionContractImplementor session)

Overrides default org.hibernate.metamodel.mapping.ModelPart.decompose.

Doc from org.hibernate.metamodel.mapping.ModelPart.decompose.

Similar to breakDownJdbcValues(Object, int, Object, Object, JdbcValueBiConsumer, SharedSessionContractImplementor), but this method is supposed to be used for decomposing values for assignment expressions. Returns the amount of jdbc types that have been visited.

Annotations
@Override
findContainingEntityMappingback to summary
public EntityMappingType findContainingEntityMapping()

Implements org.hibernate.metamodel.mapping.ModelPart.findContainingEntityMapping.

Annotations
@Override
forEachDisassembledJdbcValueback to summary
public <X, Y> int forEachDisassembledJdbcValue(Object value, int offset, X x, Y y, Bindable.JdbcValuesBiConsumer<X, Y> valuesConsumer, SharedSessionContractImplementor session)

Implements org.hibernate.metamodel.mapping.Bindable.forEachDisassembledJdbcValue.

Doc from org.hibernate.metamodel.mapping.Bindable.forEachDisassembledJdbcValue.

Like forEachDisassembledJdbcValue(Object, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), but additionally receives an offset by which the selectionIndex is incremented when calling JdbcValuesBiConsumer#consume(int, Object, Object, Object, JdbcMapping).

Annotations
@Override
forEachJdbcTypeback to summary
public int forEachJdbcType(int offset, IndexedConsumer<JdbcMapping> action)

Implements org.hibernate.metamodel.mapping.JdbcMappingContainer.forEachJdbcType.

Doc from org.hibernate.metamodel.mapping.JdbcMappingContainer.forEachJdbcType.

Visit each JdbcMapping starting from the given offset

Annotations
@Override
forEachSelectableback to summary
public int forEachSelectable(int offset, SelectableConsumer consumer)

Overrides default org.hibernate.metamodel.mapping.ValuedModelPart.forEachSelectable, org.hibernate.metamodel.mapping.ModelPart.forEachSelectable, org.hibernate.metamodel.mapping.BasicValuedModelPart.forEachSelectable.

Doc from org.hibernate.metamodel.mapping.ModelPart.forEachSelectable.

Visits each selectable mapping with the selectable index offset by the given value. Returns the amount of jdbc types that have been visited.

Annotations
@Override
generateFetchback to summary
public Fetch generateFetch(FetchParent fetchParent, NavigablePath fetchablePath, FetchTiming fetchTiming, boolean selected, String resultVariable, DomainResultCreationState creationState)

Implements org.hibernate.sql.results.graph.Fetchable.generateFetch.

Doc from org.hibernate.sql.results.graph.Fetchable.generateFetch.

Generates a Fetch of this fetchable

Parameters
fetchParent:FetchParent

The parent of the Fetch we are generating

fetchablePath:NavigablePath

The overall path within the graph

fetchTiming:FetchTiming

The requested fetch timing

Annotations
@Override
getColumnDefinitionback to summary
public String getColumnDefinition()

Implements org.hibernate.metamodel.mapping.SqlTypedMapping.getColumnDefinition.

Annotations
@Override
getContainingTableExpressionback to summary
public String getContainingTableExpression()

Implements org.hibernate.metamodel.mapping.ValuedModelPart.getContainingTableExpression, org.hibernate.metamodel.mapping.SelectableMapping.getContainingTableExpression.

Doc from org.hibernate.metamodel.mapping.ValuedModelPart.getContainingTableExpression.

The table which contains the columns mapped by this value

Annotations
@Override
getCustomReadExpressionback to summary
public String getCustomReadExpression()

Implements org.hibernate.metamodel.mapping.SelectableMapping.getCustomReadExpression.

Doc from org.hibernate.metamodel.mapping.SelectableMapping.getCustomReadExpression.

The selection's read expression accounting for formula treatment as well as ColumnTransformer#read()

Annotations
@Override
getCustomWriteExpressionback to summary
public String getCustomWriteExpression()

Implements org.hibernate.metamodel.mapping.SelectableMapping.getCustomWriteExpression.

Doc from org.hibernate.metamodel.mapping.SelectableMapping.getCustomWriteExpression.

The selection's write expression accounting ColumnTransformer#write()

Annotations
@Override
getFetchableKeyback to summary
public int getFetchableKey()

Implements org.hibernate.sql.results.graph.Fetchable.getFetchableKey.

Doc from org.hibernate.sql.results.graph.Fetchable.getFetchableKey.

The key that identifies this Fetchable within a FetchableContainer. If this Fetchable is part of FetchableContainer#visitFetchables(IndexedConsumer, EntityMappingType), the values is guaranteed to be between 0 (inclusive) and FetchableContainer#getNumberOfFetchableKeys() (exclusive). Other Fetchable objects may have a special negative value.

The main intent of this key is to index e.g. Fetch objects in an array.

Annotations
@Override
getFetchableNameback to summary
public String getFetchableName()

Implements org.hibernate.sql.results.graph.Fetchable.getFetchableName.

Doc from org.hibernate.sql.results.graph.Fetchable.getFetchableName.

The name of the fetchable. This is the part's "local name".

Annotations
@Override
getJavaTypeback to summary
public JavaType<?> getJavaType()

Implements org.hibernate.metamodel.mapping.ModelPart.getJavaType.

Doc from org.hibernate.metamodel.mapping.ModelPart.getJavaType.

The Java type for this part. Generally equivalent to MappingType#getMappedJavaType() relative to getPartMappingType()

Annotations
@Override
getJdbcMappingback to summary
public JdbcMapping getJdbcMapping()

Implements org.hibernate.metamodel.mapping.BasicValuedMapping.getJdbcMapping, org.hibernate.metamodel.mapping.SqlTypedMapping.getJdbcMapping.

Doc from org.hibernate.metamodel.mapping.SqlExpressible.getJdbcMapping.

Anything that is expressible at the SQL AST level would be of basic type.

Annotations
@Override
getJdbcMappingback to summary
public JdbcMapping getJdbcMapping(int index)

Overrides default org.hibernate.metamodel.mapping.BasicValuedModelPart.getJdbcMapping.

Implements org.hibernate.metamodel.mapping.JdbcMappingContainer.getJdbcMapping.

Annotations
@Override
getLengthback to summary
public Long getLength()

Implements org.hibernate.metamodel.mapping.SqlTypedMapping.getLength.

Annotations
@Override
getMappedFetchOptionsback to summary
public FetchOptions getMappedFetchOptions()

Implements org.hibernate.sql.results.graph.Fetchable.getMappedFetchOptions.

Doc from org.hibernate.sql.results.graph.Fetchable.getMappedFetchOptions.

The configured fetch timing and style

Annotations
@Override
getMappedTypeback to summary
public MappingType getMappedType()

Implements org.hibernate.metamodel.mapping.ValueMapping.getMappedType.

Doc from org.hibernate.metamodel.mapping.ValueMapping.getMappedType.

Descriptor for the type of this mapping

Annotations
@Override
getNatureback to summary
public CollectionPart.Nature getNature()

Implements org.hibernate.metamodel.mapping.CollectionPart.getNature.

Annotations
@Override
getNavigableRoleback to summary
public NavigableRole getNavigableRole()

Implements org.hibernate.metamodel.mapping.ModelPart.getNavigableRole.

Annotations
@Override
getPartMappingTypeback to summary
public MappingType getPartMappingType()

Overrides default org.hibernate.metamodel.mapping.BasicValuedModelPart.getPartMappingType.

Implements org.hibernate.metamodel.mapping.ModelPart.getPartMappingType.

Doc from org.hibernate.metamodel.mapping.ModelPart.getPartMappingType.

The type for this part.

Annotations
@Override
getPrecisionback to summary
public Integer getPrecision()

Implements org.hibernate.metamodel.mapping.SqlTypedMapping.getPrecision.

Annotations
@Override
getScaleback to summary
public Integer getScale()

Implements org.hibernate.metamodel.mapping.SqlTypedMapping.getScale.

Annotations
@Override
getSelectionExpressionback to summary
public String getSelectionExpression()

Implements org.hibernate.metamodel.mapping.SelectableMapping.getSelectionExpression.

Doc from org.hibernate.metamodel.mapping.SelectableMapping.getSelectionExpression.

The selection's expression. This is the column name or formula

Annotations
@Override
getSingleJdbcMappingback to summary
public JdbcMapping getSingleJdbcMapping()

Overrides default org.hibernate.metamodel.mapping.ValuedModelPart.getSingleJdbcMapping, org.hibernate.metamodel.mapping.JdbcMappingContainer.getSingleJdbcMapping, org.hibernate.metamodel.mapping.BasicValuedModelPart.getSingleJdbcMapping.

Annotations
@Override
getStyleback to summary
public FetchStyle getStyle()

Implements org.hibernate.sql.results.graph.FetchStyleAccess.getStyle.

Annotations
@Override
getTimingback to summary
public FetchTiming getTiming()

Implements org.hibernate.sql.results.graph.FetchTimingAccess.getTiming.

Annotations
@Override
isFormulaback to summary
public boolean isFormula()

Implements org.hibernate.metamodel.mapping.SelectableMapping.isFormula.

Doc from org.hibernate.metamodel.mapping.SelectableMapping.isFormula.

Is the mapping a formula instead of a physical column?

Annotations
@Override
isInsertableback to summary
public boolean isInsertable()

Implements org.hibernate.metamodel.mapping.SelectableMapping.isInsertable.

Annotations
@Override
isNullableback to summary
public boolean isNullable()

Implements org.hibernate.metamodel.mapping.SelectableMapping.isNullable.

Doc from org.hibernate.metamodel.mapping.SelectableMapping.isNullable.

Is the mapping considered nullable?

Annotations
@Override
isPartitionedback to summary
public boolean isPartitioned()

Implements org.hibernate.metamodel.mapping.SelectableMapping.isPartitioned.

Annotations
@Override
isUpdateableback to summary
public boolean isUpdateable()

Implements org.hibernate.metamodel.mapping.SelectableMapping.isUpdateable.

Annotations
@Override
resolveSqlSelectionback to summary
private SqlSelection resolveSqlSelection(NavigablePath navigablePath, TableGroup tableGroup, FetchParent fetchParent, DomainResultCreationState creationState)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override