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

public Class BasicAttributeMapping

extends AbstractSingularAttributeMapping
implements SingularAttributeMapping, BasicValuedModelPart
Class Inheritance
All Implemented Interfaces
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.SingularAttributeMapping, org.hibernate.metamodel.mapping.AttributeMapping, org.hibernate.type.descriptor.java.MutabilityPlanExposer, org.hibernate.metamodel.mapping.PropertyBasedMapping, org.hibernate.sql.results.graph.DatabaseSnapshotContributor, org.hibernate.metamodel.mapping.OwnedValuedModelPart
Annotations
@SuppressWarnings:rawtypes
Imports
java.util.function.BiConsumer, org.hibernate.engine.FetchStyle, .FetchTiming, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.internal.util.IndexedConsumer, org.hibernate.metamodel.mapping.AttributeMetadata, .BasicValuedModelPart, .EntityMappingType, .JdbcMapping, .ManagedMappingType, .MappingType, .SelectableConsumer, .SelectableMapping, .SelectablePath, .SingularAttributeMapping, org.hibernate.metamodel.model.domain.NavigableRole, org.hibernate.property.access.spi.PropertyAccess, org.hibernate.spi.NavigablePath, org.hibernate.sql.ast.spi.SqlAstCreationState, .SqlExpressionResolver, .SqlSelection, org.hibernate.sql.ast.tree.from.TableGroup, .TableReference, org.hibernate.sql.results.graph.DomainResult, .DomainResultCreationState, .Fetch, .FetchParent, org.hibernate.sql.results.graph.basic.BasicFetch, .BasicResult, org.hibernate.sql.results.graph.embeddable.EmbeddableResultGraphNode, org.hibernate.type.descriptor.java.JavaType

Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final String
private final String
private final String
private final JavaType<T>
private final boolean
private final boolean
private final boolean
private final JdbcMapping
private final Long
private final String
private final boolean
private final boolean
private final Integer
private final Integer
private final SelectablePath
private final String
private final boolean

Constructor Summary

AccessConstructor and Description
public
BasicAttributeMapping(String attributeName, NavigableRole navigableRole, int stateArrayPosition, int fetchableIndex, AttributeMetadata attributeMetadata, FetchTiming mappedFetchTiming, FetchStyle mappedFetchStyle, String tableExpression, String mappedColumnExpression, SelectablePath selectablePath, boolean isFormula, String customReadExpression, String customWriteExpression, String columnDefinition, Long length, Integer precision, Integer scale, boolean isLob, boolean nullable, boolean insertable, boolean updateable, boolean partitioned, JdbcMapping jdbcMapping, ManagedMappingType declaringType, PropertyAccess propertyAccess)

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
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 JavaType<?>
public JdbcMapping
public Long
public MappingType
getMappedType()

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

Descriptor for the type of this mapping
public NavigableRole
public Integer
public Integer
public String
public SelectablePath
public String
public String
public boolean
isFormula()

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

Is the mapping a formula instead of a physical column?
public boolean
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.
public static BasicAttributeMapping
withSelectableMapping(ManagedMappingType declaringType, BasicValuedModelPart original, PropertyAccess propertyAccess, boolean insertable, boolean updateable, SelectableMapping selectableMapping)

Inherited from org.hibernate.metamodel.mapping.internal.AbstractSingularAttributeMapping:
getGeneratorgetPropertyAccess

Field Detail

columnDefinitionback to summary
private final String columnDefinition
customReadExpressionback to summary
private final String customReadExpression
customWriteExpressionback to summary
private final String customWriteExpression
domainTypeDescriptorback to summary
private final JavaType<T> domainTypeDescriptor
insertableback to summary
private final boolean insertable
isFormulaback to summary
private final boolean isFormula
isLobback to summary
private final boolean isLob
jdbcMappingback to summary
private final JdbcMapping jdbcMapping
lengthback to summary
private final Long length
mappedColumnExpressionback to summary
private final String mappedColumnExpression
nullableback to summary
private final boolean nullable
partitionedback to summary
private final boolean partitioned
precisionback to summary
private final Integer precision
scaleback to summary
private final Integer scale
selectablePathback to summary
private final SelectablePath selectablePath
tableExpressionback to summary
private final String tableExpression
updateableback to summary
private final boolean updateable

Constructor Detail

BasicAttributeMappingback to summary
public BasicAttributeMapping(String attributeName, NavigableRole navigableRole, int stateArrayPosition, int fetchableIndex, AttributeMetadata attributeMetadata, FetchTiming mappedFetchTiming, FetchStyle mappedFetchStyle, String tableExpression, String mappedColumnExpression, SelectablePath selectablePath, boolean isFormula, String customReadExpression, String customWriteExpression, String columnDefinition, Long length, Integer precision, Integer scale, boolean isLob, boolean nullable, boolean insertable, boolean updateable, boolean partitioned, JdbcMapping jdbcMapping, ManagedMappingType declaringType, PropertyAccess propertyAccess)

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
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
getJavaTypeback to summary
public JavaType<?> getJavaType()

Overrides org.hibernate.metamodel.mapping.internal.AbstractAttributeMapping.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
getLengthback to summary
public Long getLength()

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

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
getNavigableRoleback to summary
public NavigableRole getNavigableRole()

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

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
getSelectableNameback to summary
public String getSelectableName()

Overrides default org.hibernate.metamodel.mapping.SelectableMapping.getSelectableName.

Annotations
@Override
getSelectablePathback to summary
public SelectablePath getSelectablePath()

Overrides default org.hibernate.metamodel.mapping.SelectableMapping.getSelectablePath.

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
getWriteExpressionback to summary
public String getWriteExpression()

Overrides default org.hibernate.metamodel.mapping.SelectableMapping.getWriteExpression.

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
isLobback to summary
public boolean isLob()

Overrides default org.hibernate.metamodel.mapping.SqlTypedMapping.isLob.

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
withSelectableMappingback to summary
public static BasicAttributeMapping withSelectableMapping(ManagedMappingType declaringType, BasicValuedModelPart original, PropertyAccess propertyAccess, boolean insertable, boolean updateable, SelectableMapping selectableMapping)