Package org.hibernate.metamodel.mapping
Interface BasicValuedMapping
-
- All Superinterfaces:
Bindable
,JavaTypedExpressible
,JdbcMappingContainer
,MappingModelExpressible
,SqlExpressible
,ValueMapping
- All Known Subinterfaces:
AdjustableBasicType<J>
,BasicEntityIdentifierMapping
,BasicPluralType<C,E>
,BasicType<T>
,BasicValuedModelPart
,CollectionIdentifierDescriptor
,ConvertedBasicType<J>
,DiscriminatorMapping
,DiscriminatorType<O>
,EmbeddableDiscriminatorMapping
,EntityDiscriminatorMapping
,EntityRowIdMapping
,EntityVersionMapping
- All Known Implementing Classes:
AbstractDiscriminatorMapping
,AbstractJdbcParameter
,AbstractSingleColumnStandardBasicType
,AbstractStandardBasicType
,AnonymousTupleBasicEntityIdentifierMapping
,AnonymousTupleBasicValuedModelPart
,AnyDiscriminatorPart
,AnyKeyPart
,BasicArrayType
,BasicAttributeMapping
,BasicCollectionType
,BasicEntityIdentifierMappingImpl
,BasicTypeImpl
,BasicValuedCollectionPart
,BottomType
,CaseStatementDiscriminatorMappingImpl
,CollectionIdentifierDescriptorImpl
,ColumnValueParameter
,ConvertedBasicArrayType
,ConvertedBasicCollectionType
,ConvertedBasicTypeImpl
,CustomMutabilityConvertedBasicTypeImpl
,CustomMutabilityConvertedPrimitiveBasicTypeImpl
,CustomType
,DiscriminatorType
,DiscriminatorTypeImpl
,EmbeddableTypeLiteral
,EntityRowIdMappingImpl
,EntityTypeLiteral
,EntityVersionMappingImpl
,ExplicitColumnDiscriminatorMappingImpl
,ImmutableNamedBasicTypeImpl
,JavaObjectType
,JdbcParameterImpl
,NamedBasicTypeImpl
,NullType
,QueryParameterJavaObjectType
,SerializableToBlobType
,SerializableType
,SimpleForeignKeyDescriptor
,SimpleNaturalIdMapping
,SqlTypedMappingJdbcParameter
,StandardBasicTypeTemplate
,VersionTypeSeedParameterSpecification
public interface BasicValuedMapping extends ValueMapping, SqlExpressible
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesBiConsumer<X,Y>, Bindable.JdbcValuesConsumer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
addToCacheKey(MutableCacheKeyBuilder cacheKey, Object value, SharedSessionContractImplementor session)
Add to the MutableCacheKey the values obtained disassembling the value and the hasCode generated from the disassembled value.default Object
disassemble(Object value, SharedSessionContractImplementor session)
Breaks down a value ofJ
into its simple pieces.JdbcMapping
getJdbcMapping()
Anything that is expressible at the SQL AST level would be of basic type.default JdbcMapping
getJdbcMapping(int index)
default int
getJdbcTypeCount()
The number of JDBC mappingsdefault JdbcMapping
getSingleJdbcMapping()
-
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue
-
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
forEachJdbcType
-
Methods inherited from interface org.hibernate.metamodel.mapping.ValueMapping
getExpressibleJavaType, getMappedType, treatAs
-
-
-
-
Method Detail
-
getJdbcTypeCount
default int getJdbcTypeCount()
Description copied from interface:Bindable
The number of JDBC mappings- Specified by:
getJdbcTypeCount
in interfaceBindable
- Specified by:
getJdbcTypeCount
in interfaceJdbcMappingContainer
-
getJdbcMapping
default JdbcMapping getJdbcMapping(int index)
- Specified by:
getJdbcMapping
in interfaceJdbcMappingContainer
- Specified by:
getJdbcMapping
in interfaceSqlExpressible
-
getSingleJdbcMapping
default JdbcMapping getSingleJdbcMapping()
- Specified by:
getSingleJdbcMapping
in interfaceJdbcMappingContainer
-
getJdbcMapping
JdbcMapping getJdbcMapping()
Description copied from interface:SqlExpressible
Anything that is expressible at the SQL AST level would be of basic type.- Specified by:
getJdbcMapping
in interfaceSqlExpressible
-
disassemble
default Object disassemble(Object value, SharedSessionContractImplementor session)
Description copied from interface:Bindable
Breaks down a value ofJ
into its simple pieces. E.g., an embedded value gets broken down into an array of its attribute state; a basic value converts to itself; etc.Generally speaking, this is the form in which entity state is kept relative to a Session via
EntityEntry
.@Entity class Person { @Id Integer id; @Embedded Name name; int age; } @Embeddable class Name { String familiarName; String familyName; }
At the top level, we would want to disassemble a
Person
value, so we'd ask theBindable
for thePerson
entity to disassemble. Given aPerson
value:Person( id=1, name=Name( 'Steve', 'Ebersole' ), 28 )
this disassemble would result in a multidimensional array:
[ ["Steve", "Ebersole"], 28 ]
Note that the identifier is not part of this disassembled state. Note also how the embedded value results in a sub-array.
- Specified by:
disassemble
in interfaceBindable
- See Also:
EntityEntry
-
addToCacheKey
default void addToCacheKey(MutableCacheKeyBuilder cacheKey, Object value, SharedSessionContractImplementor session)
Description copied from interface:Bindable
Add to the MutableCacheKey the values obtained disassembling the value and the hasCode generated from the disassembled value.- Specified by:
addToCacheKey
in interfaceBindable
- Specified by:
addToCacheKey
in interfaceJavaTypedExpressible
- Parameters:
cacheKey
- the MutableCacheKey used to add the disassembled value and the hashCodevalue
- the value to disassemblesession
- the SharedSessionContractImplementor
-
-