Top Description Inners Fields Constructors Methods
org.hibernate.boot.model.internal

public Class BasicValueBinder

extends Object
implements JdbcTypeIndicators
Class Inheritance
All Implemented Interfaces
org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
Imports
java.io.Serializable, java.lang.reflect.ParameterizedType, java.util.Collection, .Collections, .HashMap, .Map, java.util.function.Function, org.hibernate.AnnotationException, .AssertionFailure, .MappingException, .TimeZoneStorageStrategy, org.hibernate.annotations.AnyDiscriminator, .AnyKeyJavaClass, .AnyKeyJavaType, .AnyKeyJdbcType, .AnyKeyJdbcTypeCode, .CollectionId, .CollectionIdJavaType, .CollectionIdJdbcType, .CollectionIdJdbcTypeCode, .CollectionIdMutability, .CollectionIdType, .Immutable, .JdbcTypeCode, .ListIndexJavaType, .ListIndexJdbcType, .ListIndexJdbcTypeCode, .MapKeyJavaType, .MapKeyJdbcType, .MapKeyJdbcTypeCode, .MapKeyMutability, .MapKeyType, .Mutability, .Nationalized, .Parameter, .PartitionKey, .Target, .TimeZoneColumn, .TimeZoneStorage, .TimeZoneStorageType, .Type, org.hibernate.annotations.common.reflection.XClass, .XProperty, org.hibernate.boot.model.TypeDefinition, org.hibernate.boot.model.convert.spi.ConverterDescriptor, org.hibernate.boot.spi.AccessType, .InFlightMetadataCollector, .MetadataBuildingContext, org.hibernate.dialect.Dialect, .NationalizationSupport, org.hibernate.internal.CoreMessageLogger, org.hibernate.internal.util.ReflectHelper, org.hibernate.mapping.BasicValue, .Component, .Table, org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer, org.hibernate.resource.beans.spi.ManagedBean, .ManagedBeanRegistry, org.hibernate.type.BasicType, .SerializableToBlobType, org.hibernate.type.descriptor.java.BasicJavaType, .Immutability, .ImmutableMutabilityPlan, .JavaType, .MutabilityPlan, org.hibernate.type.descriptor.java.spi.JsonJavaType, .XmlJavaType, org.hibernate.type.descriptor.jdbc.JdbcType, .JdbcTypeIndicators, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry, org.hibernate.type.spi.TypeConfiguration, org.hibernate.usertype.DynamicParameterizedType, .UserType, org.jboss.logging.Logger, jakarta.persistence.ElementCollection, .EnumType, .Enumerated, .Id, .Lob, .MapKeyClass, .MapKeyEnumerated, .MapKeyTemporal, .Temporal, .TemporalType, .Version

A stateful binder responsible for creating instances of BasicValue.
Authors
Steve Ebersole, Emmanuel Bernard

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static interface
BasicValueBinder.BasicMappingAccess

Access to detail of basic value mappings based on Kind

private static class
public static enum
private static class
private static class
private static class

Field Summary

Modifier and TypeField and Description
private AccessType
private final Component
private BasicValue
private final MetadataBuildingContext
private AnnotatedColumns
private ConverterDescriptor
private EnumType
private String
private Class<? extends UserType<?>>
private Function<TypeConfiguration, BasicJavaType<T>>
private Function<TypeConfiguration, JdbcType>
private Map<String, String>
private Function<TypeConfiguration, MutabilityPlan<T>>
private Function<TypeConfiguration, Type>
private boolean
private boolean
private Integer
private final BasicValueBinder.Kind
private static final CoreMessageLogger
private boolean
private String
private String
private String
private String
private Table
private TemporalType
private String
private TimeZoneStorageType
private XProperty

Constructor Summary

AccessConstructor and Description
public
public
BasicValueBinder(BasicValueBinder.Kind kind, Component aggregateComponent, MetadataBuildingContext buildingContext)

Method Summary

Modifier and TypeMethod and Description
private void
applyExplicitType(Class<? extends UserType<?>> impl, Parameter[] params)

private void
applyJpaConverter(XProperty property, ConverterDescriptor attributeConverterDescriptor)

private boolean
canUseEnumerated(Type javaType, Class<Object> javaTypeClass)

private Map<String, Object>
private Map<String, String>
public void
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)?
private 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 TemporalType
getTemporalPrecision()

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

For temporal type mappings, what precision was requested?
public TypeConfiguration
getTypeConfiguration()

Implements org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators.getTypeConfiguration.

Provides access to the TypeConfiguration for access to various type system related registries.
private boolean
private boolean
public boolean
isLob()

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

Was LOB datatype requested for the given Java type?
public boolean
isNationalized()

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

Was nationalized character datatype requested for the given Java type?
private boolean
public void
public BasicValue
make()

private static Class<? extends BasicJavaType<?>>
normalizeJavaType(Class<? extends BasicJavaType<?>> javaType)

private Class<? extends JdbcType>
normalizeJdbcType(Class<? extends JdbcType> jdbcType)

private static Class<? extends UserType<?>>
normalizeUserType(Class<? extends UserType<?>> userType)

private void
normalJdbcTypeDetails(XProperty attributeXProperty)

private void
normalMutabilityDetails(XProperty attributeXProperty)

private void
private void
private void
prepareAnyKey(XProperty modelXProperty)

private void
prepareBasicAttribute(String declaringClassName, XProperty attributeDescriptor, XClass attributeType)

private void
prepareCollectionElement(XProperty attributeXProperty, XClass elementTypeXClass)

private void
private void
prepareListIndex(XProperty listAttribute)

private void
prepareMapKey(XProperty mapAttribute, XClass modelPropertyTypeXClass)

private Type
resolveJavaType(XClass returnedClassOrElement)

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.
private <T> MutabilityPlan<T>
resolveMutability(Class<? extends MutabilityPlan<T>> mutability)

public void
public void
public void
setExplicitType(String explicitType)

public void
setPersistentClassName(String persistentClassName)

public void
setPropertyName(String propertyName)

public void
setReferencedEntityName(String referencedEntityName)

public void
setReturnedClassName(String returnedClassName)

public void
setTable(Table table)

public void
public void
setType(XProperty modelXProperty, XClass modelPropertyTypeXClass, String declaringClassName, ConverterDescriptor converterDescriptor)

public void
setVersion(boolean isVersion)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait