Top Inners Fields Constructors Methods
org.hibernate.mapping

public Class BasicValue

extends SimpleValue
implements JdbcTypeIndicators, Resolvable, JpaAttributeConverterCreationContext
Class Inheritance
All Implemented Interfaces
org.hibernate.boot.model.convert.spi.JpaAttributeConverterCreationContext, org.hibernate.mapping.Resolvable, org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
Known Direct Subclasses
org.hibernate.mapping.DependantBasicValue
Imports
java.util.HashMap, .Map, .Properties, java.util.function.Consumer, .Function, org.hibernate.Incubating, .Internal, .MappingException, .TimeZoneStorageStrategy, org.hibernate.annotations.SoftDelete, .SoftDeleteType, .TimeZoneStorageType, org.hibernate.boot.model.TypeDefinition, org.hibernate.boot.model.convert.internal.AutoApplicableConverterDescriptorBypassedImpl, .ClassBasedConverterDescriptor, .InstanceBasedConverterDescriptor, org.hibernate.boot.model.convert.spi.AutoApplicableConverterDescriptor, .ConverterDescriptor, .JpaAttributeConverterCreationContext, org.hibernate.boot.model.process.internal.InferredBasicValueResolution, .InferredBasicValueResolver, .NamedBasicTypeResolution, .NamedConverterResolution, .UserTypeResolution, .VersionResolution, org.hibernate.boot.registry.StandardServiceRegistry, org.hibernate.boot.registry.classloading.spi.ClassLoaderService, .ClassLoadingException, org.hibernate.boot.spi.MetadataBuildingContext, org.hibernate.dialect.Dialect, org.hibernate.engine.jdbc.Size, org.hibernate.internal.CoreLogging, .CoreMessageLogger, org.hibernate.internal.util.ReflectHelper, .StringHelper, org.hibernate.internal.util.collections.CollectionHelper, org.hibernate.metamodel.mapping.JdbcMapping, .SelectablePath, org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer, org.hibernate.resource.beans.spi.BeanInstanceProducer, .ManagedBean, .ManagedBeanRegistry, org.hibernate.tool.schema.extract.spi.ColumnTypeInformation, org.hibernate.type.BasicType, .CustomType, .NumericBooleanConverter, .SqlTypes, .TrueFalseConverter, .Type, .WrapperArrayHandling, org.hibernate.type.descriptor.converter.spi.BasicValueConverter, .JpaAttributeConverter, org.hibernate.type.descriptor.java.BasicJavaType, .BasicPluralJavaType, .JavaType, .MutabilityPlan, org.hibernate.type.descriptor.java.spi.FormatMapperBasedJavaType, .JavaTypeRegistry, .JsonJavaType, .RegistryHelper, .XmlJavaType, org.hibernate.type.descriptor.jdbc.BooleanJdbcType, .JdbcType, .JdbcTypeIndicators, org.hibernate.type.internal.BasicTypeImpl, org.hibernate.type.spi.TypeConfiguration, .TypeConfigurationAware, org.hibernate.usertype.DynamicParameterizedType, .UserType, com.fasterxml.classmate.ResolvedType, jakarta.persistence.AttributeConverter, .EnumType, .TemporalType

Author
Steve Ebersole

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
public static interface
BasicValue.Resolution<J>

Resolved form of BasicValue as part of interpreting the boot-time model into the run-time model

private static class
private static class

Field Summary

Modifier and TypeField and Description
private AggregateColumn
private static int
private EnumType
private Function<TypeConfiguration, BasicJavaType<T>>
private Function<TypeConfiguration, JdbcType>
private Map<String, String>
private Function<TypeConfiguration, MutabilityPlan<T>>
private String
private Function<TypeConfiguration, Type>
private boolean
private Integer
private static final CoreMessageLogger
private String
private String
private BasicValue.Resolution<?>
private Type
private SoftDeleteType
private TemporalType
private TimeZoneStorageType
Inherited from org.hibernate.mapping.SimpleValue:
DEFAULT_ID_GEN_STRATEGY

Constructor Summary

AccessConstructor and Description
public
public
BasicValue(MetadataBuildingContext buildingContext, Table table)

public

Method Summary

Modifier and TypeMethod and Description
public Object
public void
public void
addColumn(Column incomingColumn, boolean isInsertable, boolean isUpdatable)

Overrides org.hibernate.mapping.SimpleValue.addColumn.

public void
protected BasicValue.Resolution<?>
private void
checkSelectable(Selectable incomingColumn)

private BasicValue.Resolution<?>
converterResolution(JavaType<?> javaType, ConverterDescriptor attributeConverterDescriptor)

public BasicValue
public void
public SelectablePath
createSelectablePath(String selectableName)

private JavaType<?>
determineJavaType(JavaType<?> explicitJavaType)

private JavaType<?>
public AggregateColumn
public Selectable
public long
getColumnLength()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getColumnLength.

Useful for resolutions based on column length.
public int
getColumnPrecision()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getColumnPrecision.

Useful for resolutions based on column precision.
public int
getColumnScale()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getColumnScale.

Useful for resolutions based on column scale.
private UserType<?>
getConfiguredUserTypeBean(Class<? extends UserType<?>> explicitCustomType, Properties properties)

private Properties
public TimeZoneStorageStrategy
public Dialect
public EnumType
getEnumeratedType()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getEnumeratedType.

For enum mappings, what style of storage was requested (name vs. ordinal)?
public EnumType
public Integer
getExplicitJdbcTypeCode()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getExplicitJdbcTypeCode.

Used (for now) only to choose a container JdbcType for SQL arrays.
public String
public ManagedBeanRegistry
public int
getPreferredSqlTypeCodeForArray()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getPreferredSqlTypeCodeForArray.

When mapping a basic array or collection type to the database what is the preferred SQL type code to use?
public int
getPreferredSqlTypeCodeForBoolean()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getPreferredSqlTypeCodeForBoolean.

When mapping a boolean type to the database what is the preferred SQL type code to use?
public int
getPreferredSqlTypeCodeForDuration()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getPreferredSqlTypeCodeForDuration.

When mapping a duration type to the database what is the preferred SQL type code to use?
public int
getPreferredSqlTypeCodeForInstant()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getPreferredSqlTypeCodeForInstant.

When mapping an instant type to the database what is the preferred SQL type code to use?
public int
getPreferredSqlTypeCodeForUuid()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getPreferredSqlTypeCodeForUuid.

When mapping an uuid type to the database what is the preferred SQL type code to use?
public BasicValue.Resolution<?>
public Type
public SoftDeleteType
public TemporalType
getTemporalPrecision()

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getTemporalPrecision.

For temporal type mappings, what precision was requested?
public TimeZoneStorageType
public Type
private <T> ManagedBean<T>
getUserTypeBean(Class<T> explicitCustomType, Properties properties)

private static BasicValue.Resolution<?>
interpretExplicitlyNamedType(String name, Function<TypeConfiguration, BasicJavaType<T>> explicitJtdAccess, Function<TypeConfiguration, JdbcType> explicitStdAccess, Function<TypeConfiguration, MutabilityPlan<T>> explicitMutabilityPlanAccess, ConverterDescriptor converterDescriptor, Map<Object, Object> localTypeParams, Consumer<Properties> combinedParameterConsumer, JdbcTypeIndicators stdIndicators, MetadataBuildingContext context)

public boolean
public boolean
private boolean
public void
private BasicValue.Resolution<?>
resolution(BasicJavaType<T> explicitJavaType, JavaType<?> javaType)

public boolean
public BasicValue.Resolution<?>
private void
resolveColumn(Column column, Dialect dialect)

public int
resolveJdbcTypeCode(int jdbcTypeCode)

Overrides default org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.resolveJdbcTypeCode.

Resolves the given type code to a possibly different type code, based on context.
public void
public void
setEnumerationStyle(EnumType enumerationStyle)

public void
setExplicitCustomType(Class<? extends UserType<?>> explicitCustomType)

public void
public void
public void
public void
public void
public void
setExplicitTypeParams(Map<String, String> explicitLocalTypeParams)

public void
public void
public void
public void
public void
public void
public static TimeZoneStorageStrategy
Inherited from org.hibernate.mapping.SimpleValue:
createForeignKeycreateForeignKeycreateForeignKeyOfEntitycreateGeneratorcreateParameterImplcreateUniqueKeydisableForeignKeygetAttributeConverterDescriptorgetBuildingContextgetColumngetColumnInsertabilitygetColumnsgetColumnSpangetColumnUpdateabilitygetConstraintColumnIteratorgetCustomIdGeneratorCreatorgetFetchModegetForeignKeyDefinitiongetForeignKeyNamegetIdentifierGeneratorgetIdentifierGeneratorParametersgetIdentifierGeneratorPropertiesgetIdentifierGeneratorStrategygetJpaAttributeConverterDescriptorgetMetadatagetNullValuegetOnDeleteActiongetSelectablesgetServiceRegistrygetTablegetTypeConfigurationgetTypeNamegetTypeParametershasAnyInsertableColumnshasAnyUpdatableColumnshasFormulaisAlternateUniqueKeyisCascadeDeleteEnabledisColumnInsertableisColumnUpdateableisConstrainedisForeignKeyEnabledisIdentityColumnisLobisNationalizedisNullableisPartitionKeyisSameisSameisSameisSimpleValueisTypeSpecifiedisUpdateableisValidisVersionjustAddColumnjustAddColumnjustAddFormulamakeLobmakeNationalizedmakeParameterImplmakeVersionsetAlternateUniqueKeysetAttributeConverterDescriptorsetCascadeDeleteEnabledsetCustomIdGeneratorCreatorsetForeignKeyDefinitionsetForeignKeyNamesetIdentifierGeneratorParameterssetIdentifierGeneratorPropertiessetIdentifierGeneratorPropertiessetIdentifierGeneratorStrategysetNullValuesetOnDeleteActionsetPartitionKeysetTablesetTypeParameterssetTypeParameterssortColumnstoString