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 voidaddToCacheKey(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 Objectdisassemble(Object value, SharedSessionContractImplementor session)Breaks down a value ofJinto its simple pieces.JdbcMappinggetJdbcMapping()Anything that is expressible at the SQL AST level would be of basic type.default JdbcMappinggetJdbcMapping(int index)default intgetJdbcTypeCount()The number of JDBC mappingsdefault JdbcMappinggetSingleJdbcMapping()-
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:BindableThe number of JDBC mappings- Specified by:
getJdbcTypeCountin interfaceBindable- Specified by:
getJdbcTypeCountin interfaceJdbcMappingContainer
-
getJdbcMapping
default JdbcMapping getJdbcMapping(int index)
- Specified by:
getJdbcMappingin interfaceJdbcMappingContainer- Specified by:
getJdbcMappingin interfaceSqlExpressible
-
getSingleJdbcMapping
default JdbcMapping getSingleJdbcMapping()
- Specified by:
getSingleJdbcMappingin interfaceJdbcMappingContainer
-
getJdbcMapping
JdbcMapping getJdbcMapping()
Description copied from interface:SqlExpressibleAnything that is expressible at the SQL AST level would be of basic type.- Specified by:
getJdbcMappingin interfaceSqlExpressible
-
disassemble
default Object disassemble(Object value, SharedSessionContractImplementor session)
Description copied from interface:BindableBreaks down a value ofJinto 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
Personvalue, so we'd ask theBindablefor thePersonentity to disassemble. Given aPersonvalue: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:
disassemblein interfaceBindable- See Also:
EntityEntry
-
addToCacheKey
default void addToCacheKey(MutableCacheKeyBuilder cacheKey, Object value, SharedSessionContractImplementor session)
Description copied from interface:BindableAdd to the MutableCacheKey the values obtained disassembling the value and the hasCode generated from the disassembled value.- Specified by:
addToCacheKeyin interfaceBindable- Specified by:
addToCacheKeyin interfaceJavaTypedExpressible- Parameters:
cacheKey- the MutableCacheKey used to add the disassembled value and the hashCodevalue- the value to disassemblesession- the SharedSessionContractImplementor
-
-