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 class
BasicValueBinder.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 void
fillSimpleValue()
TimeZoneStorageStrategy
getDefaultTimeZoneStorageStrategy()
The defaultTimeZoneStorageStrategy
.Dialect
getDialect()
EnumType
getEnumeratedType()
For enum mappings, what style of storage was requested (name vs.int
getPreferredSqlTypeCodeForArray()
When mapping a basic array or collection type to the database what is the preferred SQL type code to use?int
getPreferredSqlTypeCodeForBoolean()
When mapping a boolean type to the database what is the preferred SQL type code to use?int
getPreferredSqlTypeCodeForDuration()
When mapping a duration type to the database what is the preferred SQL type code to use?int
getPreferredSqlTypeCodeForInstant()
When mapping an instant type to the database what is the preferred SQL type code to use?int
getPreferredSqlTypeCodeForUuid()
When mapping an uuid type to the database what is the preferred SQL type code to use?TemporalType
getTemporalPrecision()
For temporal type mappings, what precision was requested?TypeConfiguration
getTypeConfiguration()
Provides access to theTypeConfiguration
for access to various type system related registries.boolean
isLob()
Was LOB datatype requested for the given Java type?boolean
isNationalized()
Was nationalized character datatype requested for the given Java type?boolean
isPreferJavaTimeJdbcTypesEnabled()
boolean
isPreferNativeEnumTypesEnabled()
void
linkWithValue()
BasicValue
make()
int
resolveJdbcTypeCode(int jdbcTypeCode)
Resolves the given type code to a possibly different type code, based on context.void
setAccessType(AccessType accessType)
void
setColumns(AnnotatedColumns columns)
void
setExplicitType(String explicitType)
void
setPersistentClassName(String persistentClassName)
void
setPropertyName(String propertyName)
void
setReferencedEntityName(String referencedEntityName)
void
setReturnedClassName(String returnedClassName)
void
setTable(Table table)
void
setTimestampVersionType(String versionType)
void
setType(org.hibernate.annotations.common.reflection.XProperty modelXProperty, org.hibernate.annotations.common.reflection.XClass modelPropertyTypeXClass, String declaringClassName, ConverterDescriptor converterDescriptor)
void
setVersion(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, getExplicitJdbcTypeCode, 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:JdbcTypeIndicators
Provides access to theTypeConfiguration
for access to various type system related registries.- Specified by:
getTypeConfiguration
in interfaceJdbcTypeIndicators
-
getDefaultTimeZoneStorageStrategy
public TimeZoneStorageStrategy getDefaultTimeZoneStorageStrategy()
Description copied from interface:JdbcTypeIndicators
The defaultTimeZoneStorageStrategy
.- Specified by:
getDefaultTimeZoneStorageStrategy
in interfaceJdbcTypeIndicators
- See Also:
MappingSettings.TIMEZONE_DEFAULT_STORAGE
,Dialect.getTimeZoneSupport()
-
getEnumeratedType
public EnumType getEnumeratedType()
Description copied from interface:JdbcTypeIndicators
For enum mappings, what style of storage was requested (name vs. ordinal)?- Specified by:
getEnumeratedType
in interfaceJdbcTypeIndicators
- Returns:
- The enum type.
-
isLob
public boolean isLob()
Description copied from interface:JdbcTypeIndicators
Was LOB datatype requested for the given Java type?- Specified by:
isLob
in interfaceJdbcTypeIndicators
- Returns:
true
if LOB datatype should be used;false
otherwise.
-
getTemporalPrecision
public TemporalType getTemporalPrecision()
Description copied from interface:JdbcTypeIndicators
For temporal type mappings, what precision was requested?- Specified by:
getTemporalPrecision
in interfaceJdbcTypeIndicators
-
isPreferJavaTimeJdbcTypesEnabled
public boolean isPreferJavaTimeJdbcTypesEnabled()
- Specified by:
isPreferJavaTimeJdbcTypesEnabled
in interfaceJdbcTypeIndicators
- See Also:
MappingSettings.JAVA_TIME_USE_DIRECT_JDBC
-
isPreferNativeEnumTypesEnabled
public boolean isPreferNativeEnumTypesEnabled()
- Specified by:
isPreferNativeEnumTypesEnabled
in interfaceJdbcTypeIndicators
- See Also:
MappingSettings.PREFER_NATIVE_ENUM_TYPES
-
getPreferredSqlTypeCodeForBoolean
public int getPreferredSqlTypeCodeForBoolean()
Description copied from interface:JdbcTypeIndicators
When mapping a boolean type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry
.- Specified by:
getPreferredSqlTypeCodeForBoolean
in interfaceJdbcTypeIndicators
- See Also:
MappingSettings.PREFERRED_BOOLEAN_JDBC_TYPE
,Dialect.getPreferredSqlTypeCodeForBoolean()
-
getPreferredSqlTypeCodeForDuration
public int getPreferredSqlTypeCodeForDuration()
Description copied from interface:JdbcTypeIndicators
When mapping a duration type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry
.- Specified by:
getPreferredSqlTypeCodeForDuration
in interfaceJdbcTypeIndicators
- See Also:
MappingSettings.PREFERRED_DURATION_JDBC_TYPE
-
getPreferredSqlTypeCodeForUuid
public int getPreferredSqlTypeCodeForUuid()
Description copied from interface:JdbcTypeIndicators
When mapping an uuid type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry
.- Specified by:
getPreferredSqlTypeCodeForUuid
in interfaceJdbcTypeIndicators
- See Also:
MappingSettings.PREFERRED_UUID_JDBC_TYPE
-
getPreferredSqlTypeCodeForInstant
public int getPreferredSqlTypeCodeForInstant()
Description copied from interface:JdbcTypeIndicators
When mapping an instant type to the database what is the preferred SQL type code to use?Returns a key into the
JdbcTypeRegistry
.- Specified by:
getPreferredSqlTypeCodeForInstant
in interfaceJdbcTypeIndicators
- See Also:
MappingSettings.PREFERRED_INSTANT_JDBC_TYPE
-
getPreferredSqlTypeCodeForArray
public int getPreferredSqlTypeCodeForArray()
Description copied from interface:JdbcTypeIndicators
When 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:
getPreferredSqlTypeCodeForArray
in interfaceJdbcTypeIndicators
- See Also:
Dialect.getPreferredSqlTypeCodeForArray()
-
resolveJdbcTypeCode
public int resolveJdbcTypeCode(int jdbcTypeCode)
Description copied from interface:JdbcTypeIndicators
Resolves 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:
resolveJdbcTypeCode
in interfaceJdbcTypeIndicators
- Parameters:
jdbcTypeCode
- a type code fromSqlTypes
- Returns:
- The jdbc type code to use
-
isNationalized
public boolean isNationalized()
Description copied from interface:JdbcTypeIndicators
Was nationalized character datatype requested for the given Java type?- Specified by:
isNationalized
in interfaceJdbcTypeIndicators
- Returns:
true
if nationalized character datatype should be used;false
otherwise.
-
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:
getDialect
in interfaceJdbcTypeIndicators
-
setExplicitType
public void setExplicitType(String explicitType)
-
make
public BasicValue make()
-
linkWithValue
public void linkWithValue()
-
fillSimpleValue
public void fillSimpleValue()
-
-