Class VirtualIdEmbeddable
- java.lang.Object
-
- org.hibernate.metamodel.mapping.internal.AbstractEmbeddableMapping
-
- org.hibernate.metamodel.mapping.internal.VirtualIdEmbeddable
-
- All Implemented Interfaces:
Bindable
,EmbeddableMappingType
,JdbcMappingContainer
,ManagedMappingType
,MappingModelExpressible
,MappingType
,ModelPart
,ModelPartContainer
,NonAggregatedIdentifierMapping.IdentifierValueMapper
,SelectableMappings
,FetchableContainer
public class VirtualIdEmbeddable extends AbstractEmbeddableMapping implements NonAggregatedIdentifierMapping.IdentifierValueMapper
Embeddable describing the virtual-id aspect of a non-aggregated composite id
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.hibernate.metamodel.mapping.internal.AbstractEmbeddableMapping
AbstractEmbeddableMapping.AttributeTypeValidator, AbstractEmbeddableMapping.ConcreteTableResolver, AbstractEmbeddableMapping.IllegalAttributeType, AbstractEmbeddableMapping.SuccessfulCompletionCallback
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesBiConsumer<X,Y>, Bindable.JdbcValuesConsumer
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.ModelPart
ModelPart.JdbcValueBiConsumer<X,Y>, ModelPart.JdbcValueConsumer
-
-
Field Summary
-
Fields inherited from class org.hibernate.metamodel.mapping.internal.AbstractEmbeddableMapping
attributeMappings, getterCache, selectableMappings, setterCache
-
-
Constructor Summary
Constructors Constructor Description VirtualIdEmbeddable(Component virtualIdSource, NonAggregatedIdentifierMapping idMapping, EntityPersister identifiedEntityMapping, String rootTableExpression, String[] rootTableKeyColumnNames, MappingModelCreationProcess creationProcess)
VirtualIdEmbeddable(EmbeddedAttributeMapping valueMapping, TableGroupProducer declaringTableGroupProducer, SelectableMappings selectableMappings, VirtualIdEmbeddable inverseMappingType, MappingModelCreationProcess creationProcess)
-
Method Summary
-
Methods inherited from class org.hibernate.metamodel.mapping.internal.AbstractEmbeddableMapping
addAttribute, addToCacheKey, breakDownJdbcValues, buildGetterSetterCache, determineEmbeddablePrefix, disassemble, findAttributeMapping, findSubPart, finishInitialization, forEachAttributeMapping, forEachAttributeMapping, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachSelectable, forEachSelectable, forEachSubPart, getAttributeMapping, getAttributeMappings, getFetchable, getJdbcMapping, getJdbcTypeCount, getMappedJavaType, getNumberOfAttributeMappings, getNumberOfFetchables, getSelectable, getSelectableMappings, getValue, getValues, initColumnMappings, inverseInitializeCallback, setValue, setValues, visitFetchables, visitFetchables, visitSubParts
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
addToCacheKey, disassemble, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue
-
Methods inherited from interface org.hibernate.metamodel.mapping.EmbeddableMappingType
anyRequiresAggregateColumnWriter, applySqlSelections, applySqlSelections, forEachInsertable, forEachJdbcType, forEachSelectable, forEachSelectable, forEachUpdatable, getAggregateMapping, getJdbcTypeCount, getJdbcValueCount, getJdbcValueSelectable, getPartMappingType, getSelectableIndex, requiresAggregateColumnWriter, shouldBindAggregateMapping, shouldMutateAggregateMapping, shouldSelectAggregateMapping
-
Methods inherited from interface org.hibernate.sql.results.graph.FetchableContainer
getFetchable, getKeyFetchable, getNumberOfFetchableKeys, getNumberOfFetchables, getNumberOfKeyFetchables, visitFetchables, visitFetchables, visitFetchables, visitKeyFetchables, visitKeyFetchables, visitKeyFetchables
-
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
getJdbcMapping, getSingleJdbcMapping
-
Methods inherited from interface org.hibernate.metamodel.mapping.ManagedMappingType
findAttributeMapping, forEachAttributeMapping, forEachAttributeMapping, getAttributeMapping, getAttributeMappings, getJavaType, getNumberOfAttributeMappings, getValue, getValues, hasPartitionedSelectionMapping, setValue, setValues
-
Methods inherited from interface org.hibernate.metamodel.mapping.MappingType
getMappedJavaType
-
Methods inherited from interface org.hibernate.metamodel.mapping.ModelPart
asAttributeMapping, asBasicValuedModelPart, asEntityMappingType, breakDownJdbcValues, breakDownJdbcValues, decompose, isEntityIdentifierMapping, isVirtual
-
Methods inherited from interface org.hibernate.metamodel.mapping.ModelPartContainer
findByPath, findByPath, findSubPart, forEachSubPart, forEachSubPart, visitSubParts
-
Methods inherited from interface org.hibernate.metamodel.mapping.NonAggregatedIdentifierMapping.IdentifierValueMapper
forEachAttribute
-
Methods inherited from interface org.hibernate.metamodel.mapping.SelectableMappings
getSelectable
-
-
-
-
Constructor Detail
-
VirtualIdEmbeddable
public VirtualIdEmbeddable(Component virtualIdSource, NonAggregatedIdentifierMapping idMapping, EntityPersister identifiedEntityMapping, String rootTableExpression, String[] rootTableKeyColumnNames, MappingModelCreationProcess creationProcess)
-
VirtualIdEmbeddable
public VirtualIdEmbeddable(EmbeddedAttributeMapping valueMapping, TableGroupProducer declaringTableGroupProducer, SelectableMappings selectableMappings, VirtualIdEmbeddable inverseMappingType, MappingModelCreationProcess creationProcess)
-
-
Method Detail
-
getEmbeddedPart
public EmbeddableValuedModelPart getEmbeddedPart()
- Specified by:
getEmbeddedPart
in interfaceNonAggregatedIdentifierMapping.IdentifierValueMapper
-
getIdentifier
public Object getIdentifier(Object entity, SharedSessionContractImplementor session)
Description copied from interface:NonAggregatedIdentifierMapping.IdentifierValueMapper
Extract the identifier out of the given entity, returning the mapper's representation- Specified by:
getIdentifier
in interfaceNonAggregatedIdentifierMapping.IdentifierValueMapper
-
setIdentifier
public void setIdentifier(Object entity, Object id, SharedSessionContractImplementor session)
Description copied from interface:NonAggregatedIdentifierMapping.IdentifierValueMapper
Extract the identifier out of the given entity, returning the mapper's representation- Specified by:
setIdentifier
in interfaceNonAggregatedIdentifierMapping.IdentifierValueMapper
-
getNavigableRole
public NavigableRole getNavigableRole()
- Specified by:
getNavigableRole
in interfaceModelPart
- See Also:
ModelPart.getPartName()
-
getPartName
public String getPartName()
Description copied from interface:ModelPart
The local part name, which is generally the unqualified role name- Specified by:
getPartName
in interfaceModelPart
-
getEmbeddedValueMapping
public EmbeddableValuedModelPart getEmbeddedValueMapping()
- Specified by:
getEmbeddedValueMapping
in interfaceEmbeddableMappingType
-
getRepresentationStrategy
public VirtualIdRepresentationStrategy getRepresentationStrategy()
- Specified by:
getRepresentationStrategy
in interfaceEmbeddableMappingType
-
isCreateEmptyCompositesEnabled
public boolean isCreateEmptyCompositesEnabled()
- Specified by:
isCreateEmptyCompositesEnabled
in interfaceEmbeddableMappingType
-
findContainingEntityMapping
public EntityMappingType findContainingEntityMapping()
- Specified by:
findContainingEntityMapping
in interfaceModelPart
-
createDomainResult
public <T> DomainResult<T> createDomainResult(NavigablePath navigablePath, TableGroup tableGroup, String resultVariable, DomainResultCreationState creationState)
Description copied from interface:ModelPart
Create a DomainResult for a specific reference to this ModelPart.- Specified by:
createDomainResult
in interfaceEmbeddableMappingType
- Specified by:
createDomainResult
in interfaceModelPart
-
decompose
public <X,Y> int decompose(Object domainValue, int offset, X x, Y y, ModelPart.JdbcValueBiConsumer<X,Y> valueConsumer, SharedSessionContractImplementor session)
Description copied from interface:ModelPart
Similar toModelPart.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.
-
createInverseMappingType
public EmbeddableMappingType createInverseMappingType(EmbeddedAttributeMapping valueMapping, TableGroupProducer declaringTableGroupProducer, SelectableMappings selectableMappings, MappingModelCreationProcess creationProcess)
- Specified by:
createInverseMappingType
in interfaceEmbeddableMappingType
-
areEqual
public boolean areEqual(Object one, Object other, SharedSessionContractImplementor session)
-
compare
public int compare(Object value1, Object value2)
- Specified by:
compare
in interfaceEmbeddableMappingType
-
-