Package org.hibernate.type
Interface BasicType<T>
- All Superinterfaces:
BasicDomainType<T>,BasicType<T>,BasicValuedMapping,Bindable,BindableType<T>,DomainType<T>,JavaTypedExpressible,JdbcMapping,JdbcMappingContainer,MappingModelExpressible,MappingType,OutputableType<T>,ReturnableType<T>,Serializable,SimpleDomainType<T>,SqlExpressible,SqmExpressible<T>,Type<T>,Type,ValueMapping
- All Known Subinterfaces:
AdjustableBasicType<J>,BasicPluralType<C,E>,ConvertedBasicType<J>,DiscriminatorType<O>
- All Known Implementing Classes:
AbstractSingleColumnStandardBasicType,AbstractStandardBasicType,BasicArrayType,BasicCollectionType,BasicTypeImpl,BottomType,ConvertedBasicArrayType,ConvertedBasicCollectionType,ConvertedBasicTypeImpl,CustomMutabilityConvertedBasicTypeImpl,CustomMutabilityConvertedPrimitiveBasicTypeImpl,CustomType,DiscriminatorType,DiscriminatorTypeImpl,ImmutableNamedBasicTypeImpl,JavaObjectType,NamedBasicTypeImpl,NullType,QueryParameterJavaObjectType,SerializableToBlobType,SerializableType,StandardBasicTypeTemplate
public interfaceBasicType<T>extendsType,BasicDomainType<T>,MappingType,BasicValuedMapping,JdbcMapping
Marker interface for basic types.
Nested Class Summary
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesBiConsumer<X,Y>,Bindable.JdbcValuesConsumer
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Type
Type.PersistenceType
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default intcompare(Object x,Object y,SessionFactoryImplementor sessionFactory)defaultObjectdisassemble(Object value,SharedSessionContractImplementor session)Breaks down a value ofJinto its simple pieces.default <X,Y>
intforEachDisassembledJdbcValue(Object value, int offset, X x, Y y,Bindable.JdbcValuesBiConsumer<X,Y> valuesConsumer,SharedSessionContractImplementor session)LikeBindable.forEachDisassembledJdbcValue(Object, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), but additionally receives an offset by which the selectionIndex is incremented when callingBindable.JdbcValuesBiConsumer.consume(int, Object, Object, Object, JdbcMapping).default intforEachJdbcType(int offset,IndexedConsumer<JdbcMapping> action)Visit each JdbcMapping starting from the given offsetdefault intforEachJdbcType(IndexedConsumer<JdbcMapping> action)Visit each of JdbcMappingdefaultStringgetCheckCondition(String columnName,Dialect dialect)The check constraint that should be added to the column definition in generated DDL.defaultJavaType<T>getExpressibleJavaType()The Java type descriptor for this expressibledefaultJavaType<T>getJavaTypeDescriptor()The descriptor for the Java type represented by this expressible typedefaultJdbcLiteralFormatter<T>getJdbcLiteralFormatter()The strategy for formatting values of this expressible type to a SQL literal.defaultJdbcMappinggetJdbcMapping()Anything that is expressible at the SQL AST level would be of basic type.defaultJdbcMappinggetJdbcMapping(int index)default intgetJdbcTypeCount()The number of JDBC mappingsdefaultValueBinder<T>getJdbcValueBinder()The strategy for binding values of this expressible type to JDBCPreparedStatements andCallableStatements.defaultValueExtractor<T>getJdbcValueExtractor()The strategy for extracting values of this expressible type from JDBC ResultSets, CallableStatements, etcdefaultJavaType<T>getMappedJavaType()Thedescriptor descriptor for the mapped Java typedefaultMappingTypegetMappedType()Descriptor for the type of this mappingString[]getRegistrationKeys()Get the names under which this type should be registered in the type registry.defaultJdbcMappinggetSingleJdbcMapping()defaultBasicValueConverter<T,?>getValueConverter()Returns the converter that this basic type uses for transforming from the domain type, to the relational type, ornullif there is no conversion.Methods inherited from interface org.hibernate.metamodel.model.domain.BasicDomainType
areEqual,getPersistenceType
Methods inherited from interface org.hibernate.metamodel.mapping.BasicValuedMapping
addToCacheKey
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
forEachDisassembledJdbcValue,forEachDisassembledJdbcValue,forEachDisassembledJdbcValue,forEachJdbcValue,forEachJdbcValue,forEachJdbcValue,forEachJdbcValue
Methods inherited from interface org.hibernate.metamodel.model.domain.DomainType
getSqmType,getTupleLength
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMapping
convertToDomainValue,convertToRelationalValue,getCastType,getJdbcJavaType,getJdbcType
Methods inherited from interface org.hibernate.query.OutputableType
canDoExtraction,extract,extract,getJdbcType
Methods inherited from interface org.hibernate.metamodel.model.domain.SimpleDomainType
getBindableJavaType
Methods inherited from interface org.hibernate.query.sqm.SqmExpressible
getRelationalJavaType,getTypeName,isInstance,resolveExpressible
Methods inherited from interface jakarta.persistence.metamodel.Type
getJavaType
Methods inherited from interface org.hibernate.type.Type
assemble,beforeAssemble,compare,deepCopy,disassemble,disassemble,getColumnSpan,getHashCode,getHashCode,getName,getReturnedClass,getReturnedClassName,getSqlTypeCodes,getTypeForEqualsHashCode,isAnyType,isAssociationType,isCollectionType,isComponentType,isDirty,isDirty,isEntityType,isEqual,isEqual,isModified,isMutable,isSame,nullSafeSet,nullSafeSet,replace,replace,toColumnNullness,toLoggableString
Methods inherited from interface org.hibernate.metamodel.mapping.ValueMapping
treatAs
Method Detail
getRegistrationKeys
String[] getRegistrationKeys()
Get the names under which this type should be registered in the type registry.- Returns:
- The keys under which to register this type.
getMappedType
default MappingType getMappedType()
Description copied from interface:ValueMappingDescriptor for the type of this mapping- Specified by:
getMappedTypein interfaceValueMapping
getJavaTypeDescriptor
default JavaType<T> getJavaTypeDescriptor()
Description copied from interface:JdbcMappingThe descriptor for the Java type represented by this expressible type- Specified by:
getJavaTypeDescriptorin interfaceJdbcMapping
getExpressibleJavaType
default JavaType<T> getExpressibleJavaType()
Description copied from interface:SqmExpressibleThe Java type descriptor for this expressible- Specified by:
getExpressibleJavaTypein interfaceJavaTypedExpressible<T>- Specified by:
getExpressibleJavaTypein interfaceSqmExpressible<T>- Specified by:
getExpressibleJavaTypein interfaceValueMapping
forEachJdbcType
default int forEachJdbcType(IndexedConsumer<JdbcMapping> action)
Description copied from interface:BindableVisit each of JdbcMapping- Specified by:
forEachJdbcTypein interfaceBindable- Specified by:
forEachJdbcTypein interfaceJdbcMapping- Specified by:
forEachJdbcTypein interfaceJdbcMappingContainer
getJdbcMapping
default JdbcMapping getJdbcMapping()
Description copied from interface:SqlExpressibleAnything that is expressible at the SQL AST level would be of basic type.- Specified by:
getJdbcMappingin interfaceBasicValuedMapping- Specified by:
getJdbcMappingin interfaceSqlExpressible
getJdbcTypeCount
default int getJdbcTypeCount()
Description copied from interface:BindableThe number of JDBC mappings- Specified by:
getJdbcTypeCountin interfaceBasicValuedMapping- Specified by:
getJdbcTypeCountin interfaceBindable- Specified by:
getJdbcTypeCountin interfaceJdbcMapping- Specified by:
getJdbcTypeCountin interfaceJdbcMappingContainer
getJdbcMapping
default JdbcMapping getJdbcMapping(int index)
- Specified by:
getJdbcMappingin interfaceBasicValuedMapping- Specified by:
getJdbcMappingin interfaceJdbcMapping- Specified by:
getJdbcMappingin interfaceJdbcMappingContainer- Specified by:
getJdbcMappingin interfaceSqlExpressible
getSingleJdbcMapping
default JdbcMapping getSingleJdbcMapping()
- Specified by:
getSingleJdbcMappingin interfaceBasicValuedMapping- Specified by:
getSingleJdbcMappingin interfaceJdbcMapping- Specified by:
getSingleJdbcMappingin interfaceJdbcMappingContainer
getMappedJavaType
default JavaType<T> getMappedJavaType()
Description copied from interface:MappingTypeThedescriptor descriptor for the mapped Java type- Specified by:
getMappedJavaTypein interfaceJdbcMapping- Specified by:
getMappedJavaTypein interfaceMappingType
getValueConverter
@Incubatingdefault BasicValueConverter<T,?> getValueConverter()
Description copied from interface:JdbcMappingReturns the converter that this basic type uses for transforming from the domain type, to the relational type, ornullif there is no conversion.- Specified by:
getValueConverterin interfaceJdbcMapping
getJdbcValueExtractor
default ValueExtractor<T> getJdbcValueExtractor()
Description copied from interface:JdbcMappingThe strategy for extracting values of this expressible type from JDBC ResultSets, CallableStatements, etc- Specified by:
getJdbcValueExtractorin interfaceJdbcMapping
getJdbcValueBinder
default ValueBinder<T> getJdbcValueBinder()
Description copied from interface:JdbcMappingThe strategy for binding values of this expressible type to JDBCPreparedStatements andCallableStatements.- Specified by:
getJdbcValueBinderin interfaceJdbcMapping
getJdbcLiteralFormatter
default JdbcLiteralFormatter<T> getJdbcLiteralFormatter()
Description copied from interface:JdbcMappingThe strategy for formatting values of this expressible type to a SQL literal.- Specified by:
getJdbcLiteralFormatterin interfaceJdbcMapping
forEachJdbcType
default int forEachJdbcType(int offset,IndexedConsumer<JdbcMapping> action)
Description copied from interface:JdbcMappingContainerVisit each JdbcMapping starting from the given offset- Specified by:
forEachJdbcTypein interfaceJdbcMapping- Specified by:
forEachJdbcTypein interfaceJdbcMappingContainer
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 interfaceBasicValuedMapping- Specified by:
disassemblein interfaceBindable- See Also:
EntityEntry
forEachDisassembledJdbcValue
default <X,Y> int forEachDisassembledJdbcValue(Object value, int offset, X x, Y y,Bindable.JdbcValuesBiConsumer<X,Y> valuesConsumer,SharedSessionContractImplementor session)
Description copied from interface:BindableLikeBindable.forEachDisassembledJdbcValue(Object, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), but additionally receives an offset by which the selectionIndex is incremented when callingBindable.JdbcValuesBiConsumer.consume(int, Object, Object, Object, JdbcMapping).- Specified by:
forEachDisassembledJdbcValuein interfaceBindable
getCheckCondition
@Incubatingdefault String getCheckCondition(String columnName,Dialect dialect)
The check constraint that should be added to the column definition in generated DDL.- Parameters:
columnName- the name of the columndialect- the SQLDialect- Returns:
- a check constraint condition or null
- Since:
- 6.2
compare
default int compare(Object x,Object y,SessionFactoryImplementor sessionFactory)