Class BasicValueBinder
- java.lang.Object
-
- org.hibernate.boot.model.internal.BasicValueBinder
-
- All Implemented Interfaces:
JdbcTypeIndicators
public class BasicValueBinder extends Object implements JdbcTypeIndicators
A stateful binder responsible for creating instances ofBasicValue.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBasicValueBinder.Kind
-
Field Summary
-
Fields inherited from interface org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
NO_COLUMN_LENGTH, NO_COLUMN_PRECISION, NO_COLUMN_SCALE
-
-
Constructor Summary
Constructors Constructor Description BasicValueBinder(BasicValueBinder.Kind kind, MetadataBuildingContext buildingContext)BasicValueBinder(BasicValueBinder.Kind kind, Component aggregateComponent, MetadataBuildingContext buildingContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfillSimpleValue()TimeZoneStorageStrategygetDefaultTimeZoneStorageStrategy()The defaultTimeZoneStorageStrategy.DialectgetDialect()EnumTypegetEnumeratedType()For enum mappings, what style of storage was requested (name vs.intgetPreferredSqlTypeCodeForArray()When mapping a basic array or collection type to the database what is the preferred SQL type code to use?intgetPreferredSqlTypeCodeForBoolean()When mapping a boolean type to the database what is the preferred SQL type code to use?intgetPreferredSqlTypeCodeForDuration()When mapping a duration type to the database what is the preferred SQL type code to use?intgetPreferredSqlTypeCodeForInstant()When mapping an instant type to the database what is the preferred SQL type code to use?intgetPreferredSqlTypeCodeForUuid()When mapping an uuid type to the database what is the preferred SQL type code to use?TemporalTypegetTemporalPrecision()For temporal type mappings, what precision was requested?TypeConfigurationgetTypeConfiguration()Provides access to theTypeConfigurationfor access to various type system related registries.booleanisLob()Was LOB datatype requested for the given Java type?booleanisNationalized()Was nationalized character datatype requested for the given Java type?voidlinkWithValue()BasicValuemake()intresolveJdbcTypeCode(int jdbcTypeCode)Resolves the given type code to a possibly different type code, based on context.voidsetAccessType(AccessType accessType)voidsetColumns(AnnotatedColumns columns)voidsetExplicitType(String explicitType)voidsetPersistentClassName(String persistentClassName)voidsetPropertyName(String propertyName)voidsetReferencedEntityName(String referencedEntityName)voidsetReturnedClassName(String returnedClassName)voidsetTable(Table table)voidsetTimestampVersionType(String versionType)voidsetType(org.hibernate.annotations.common.reflection.XProperty modelXProperty, org.hibernate.annotations.common.reflection.XClass modelPropertyTypeXClass, String declaringClassName, ConverterDescriptor converterDescriptor)voidsetVersion(boolean isVersion)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators
getColumnLength, getColumnPrecision, getColumnScale, getDefaultZonedTimeSqlType, getDefaultZonedTimestampSqlType, getJdbcType
-
-
-
-
Constructor Detail
-
BasicValueBinder
public BasicValueBinder(BasicValueBinder.Kind kind, MetadataBuildingContext buildingContext)
-
BasicValueBinder
public BasicValueBinder(BasicValueBinder.Kind kind, Component aggregateComponent, MetadataBuildingContext buildingContext)
-
-
Method Detail
-
getTypeConfiguration
public TypeConfiguration getTypeConfiguration()
Description copied from interface:JdbcTypeIndicatorsProvides access to theTypeConfigurationfor access to various type system related registries.- Specified by:
getTypeConfigurationin interfaceJdbcTypeIndicators
-
getDefaultTimeZoneStorageStrategy
public TimeZoneStorageStrategy getDefaultTimeZoneStorageStrategy()
Description copied from interface:JdbcTypeIndicatorsThe defaultTimeZoneStorageStrategy.- Specified by:
getDefaultTimeZoneStorageStrategyin interfaceJdbcTypeIndicators- See Also:
AvailableSettings.TIMEZONE_DEFAULT_STORAGE,Dialect.getTimeZoneSupport()
-
getEnumeratedType
public EnumType getEnumeratedType()
Description copied from interface:JdbcTypeIndicatorsFor enum mappings, what style of storage was requested (name vs. ordinal)?- Specified by:
getEnumeratedTypein interfaceJdbcTypeIndicators- Returns:
- The enum type.
-
isLob
public boolean isLob()
Description copied from interface:JdbcTypeIndicatorsWas LOB datatype requested for the given Java type?- Specified by:
isLobin interfaceJdbcTypeIndicators- Returns:
trueif LOB datatype should be used;falseotherwise.
-
getTemporalPrecision
public TemporalType getTemporalPrecision()
Description copied from interface:JdbcTypeIndicatorsFor temporal type mappings, what precision was requested?- Specified by:
getTemporalPrecisionin interfaceJdbcTypeIndicators
-
getPreferredSqlTypeCodeForBoolean
public int getPreferredSqlTypeCodeForBoolean()
Description copied from interface:JdbcTypeIndicatorsWhen mapping a boolean type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForBooleanin interfaceJdbcTypeIndicators- See Also:
AvailableSettings.PREFERRED_BOOLEAN_JDBC_TYPE,Dialect.getPreferredSqlTypeCodeForBoolean()
-
getPreferredSqlTypeCodeForDuration
public int getPreferredSqlTypeCodeForDuration()
Description copied from interface:JdbcTypeIndicatorsWhen mapping a duration type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForDurationin interfaceJdbcTypeIndicators- See Also:
AvailableSettings.PREFERRED_DURATION_JDBC_TYPE
-
getPreferredSqlTypeCodeForUuid
public int getPreferredSqlTypeCodeForUuid()
Description copied from interface:JdbcTypeIndicatorsWhen mapping an uuid type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForUuidin interfaceJdbcTypeIndicators- See Also:
AvailableSettings.PREFERRED_UUID_JDBC_TYPE
-
getPreferredSqlTypeCodeForInstant
public int getPreferredSqlTypeCodeForInstant()
Description copied from interface:JdbcTypeIndicatorsWhen mapping an instant type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForInstantin interfaceJdbcTypeIndicators- See Also:
AvailableSettings.PREFERRED_INSTANT_JDBC_TYPE
-
getPreferredSqlTypeCodeForArray
public int getPreferredSqlTypeCodeForArray()
Description copied from interface:JdbcTypeIndicatorsWhen mapping a basic array or collection type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry.- Specified by:
getPreferredSqlTypeCodeForArrayin interfaceJdbcTypeIndicators- See Also:
Dialect.getPreferredSqlTypeCodeForArray()
-
resolveJdbcTypeCode
public int resolveJdbcTypeCode(int jdbcTypeCode)
Description copied from interface:JdbcTypeIndicatorsResolves the given type code to a possibly different type code, based on context. A database might not support a certain type code in certain scenarios like within a UDT and has to resolve to a different type code in such a scenario.- Specified by:
resolveJdbcTypeCodein interfaceJdbcTypeIndicators- Parameters:
jdbcTypeCode- a type code fromSqlTypes- Returns:
- The jdbc type code to use
-
isNationalized
public boolean isNationalized()
Description copied from interface:JdbcTypeIndicatorsWas nationalized character datatype requested for the given Java type?- Specified by:
isNationalizedin interfaceJdbcTypeIndicators- Returns:
trueif nationalized character datatype should be used;falseotherwise.
-
setVersion
public void setVersion(boolean isVersion)
-
setTimestampVersionType
public void setTimestampVersionType(String versionType)
-
setReferencedEntityName
public void setReferencedEntityName(String referencedEntityName)
-
setPropertyName
public void setPropertyName(String propertyName)
-
setReturnedClassName
public void setReturnedClassName(String returnedClassName)
-
setTable
public void setTable(Table table)
-
setColumns
public void setColumns(AnnotatedColumns columns)
-
setPersistentClassName
public void setPersistentClassName(String persistentClassName)
-
setAccessType
public void setAccessType(AccessType accessType)
-
setType
public void setType(org.hibernate.annotations.common.reflection.XProperty modelXProperty, org.hibernate.annotations.common.reflection.XClass modelPropertyTypeXClass, String declaringClassName, ConverterDescriptor converterDescriptor)
-
getDialect
public Dialect getDialect()
- Specified by:
getDialectin interfaceJdbcTypeIndicators
-
setExplicitType
public void setExplicitType(String explicitType)
-
make
public BasicValue make()
-
linkWithValue
public void linkWithValue()
-
fillSimpleValue
public void fillSimpleValue()
-
-