Top Description Fields Constructors Methods
org.hibernate.query.sqm.sql

public Class AggregateColumnAssignmentHandler

extends Object
Class Inheritance
Imports
java.util.ArrayList, .BitSet, .HashMap, .LinkedHashMap, .List, .Map, org.hibernate.dialect.aggregate.AggregateSupport, org.hibernate.metamodel.mapping.AttributeMapping, .EmbeddableMappingType, .ManagedMappingType, .MappingType, .SelectableMapping, .SelectablePath, org.hibernate.persister.entity.EntityPersister, org.hibernate.sql.ast.tree.expression.AggregateColumnWriteExpression, .ColumnReference, .Expression, org.hibernate.sql.ast.tree.update.Assignment, org.hibernate.type.descriptor.jdbc.AggregateJdbcType, org.hibernate.type.spi.TypeConfiguration

Handler for assignments to sub-columns of an aggregate column, which require a special write expression. It receives a callback for all assignments and records the positions of the assignments that belong to an aggregate where EmbeddableMappingType#requiresAggregateColumnWriter() is true. In a single post-processing step it replaces individual assignments with a single aggregate assignment.

Field Summary

Modifier and TypeField and Description
private final LinkedHashMap<EmbeddableMappingType, BitSet>
private final AggregateSupport
private final int
private final HashMap<SelectablePath, EmbeddableMappingType>
private final TypeConfiguration

Constructor Summary

AccessConstructor and Description
private
AggregateColumnAssignmentHandler(EntityPersister entityDescriptor, int assignmentCount)

Method Summary

Modifier and TypeMethod and Description
public void
addAssignment(int position, ColumnReference columnReference)

public void
private static void
private EmbeddableMappingType
private SelectableMapping
findSelectable(EmbeddableMappingType aggregateType, ColumnReference columnReference)

pack-priv static AggregateColumnAssignmentHandler
forEntityDescriptor(EntityPersister entityDescriptor, int size)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

aggregateAssignmentPositionsback to summary
private final LinkedHashMap<EmbeddableMappingType, BitSet> aggregateAssignmentPositions
aggregateSupportback to summary
private final AggregateSupport aggregateSupport
assignmentCountback to summary
private final int assignmentCount
rootAggregatesback to summary
private final HashMap<SelectablePath, EmbeddableMappingType> rootAggregates
typeConfigurationback to summary
private final TypeConfiguration typeConfiguration

Constructor Detail

AggregateColumnAssignmentHandlerback to summary
private AggregateColumnAssignmentHandler(EntityPersister entityDescriptor, int assignmentCount)

Method Detail

addAssignmentback to summary
public void addAssignment(int position, ColumnReference columnReference)
aggregateAssignmentsback to summary
public void aggregateAssignments(ArrayList<Assignment> assignments)
collectRootAggregatesback to summary
private static void collectRootAggregates(HashMap<SelectablePath, EmbeddableMappingType> rootAggregates, ManagedMappingType mappingType)
findAggregateToCombineback to summary
private EmbeddableMappingType findAggregateToCombine(SelectablePath selectablePath)
findSelectableback to summary
private SelectableMapping findSelectable(EmbeddableMappingType aggregateType, ColumnReference columnReference)
forEntityDescriptorback to summary
pack-priv static AggregateColumnAssignmentHandler forEntityDescriptor(EntityPersister entityDescriptor, int size)