Class DelayedStructJdbcType
java.lang.Object
org.hibernate.type.descriptor.jdbc.internal.DelayedStructJdbcType
- All Implemented Interfaces:
Serializable
,AggregateJdbcType
,JdbcType
,SqlTypedJdbcType
,StructuredJdbcType
Descriptor for
STRUCT
handling, which is only a temporary placeholder.
During bootstrap, EmbeddableAggregateJavaType
will report DelayedStructJdbcType
as recommended
JdbcType
, because the real StructuredJdbcType
can only be built later,
as that requires runtime model information in the form of EmbeddableMappingType
.
The real StructuredJdbcType
is built right after EmbeddableMappingType
is created,
which will then cause a rebuild of the respective BasicType
as well as updating
the BasicValue.Resolution
of the owning attribute.- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionDelayedStructJdbcType
(EmbeddableAggregateJavaType<?> embeddableAggregateJavaType, String structName) -
Method Summary
Modifier and TypeMethodDescriptioncreateJdbcValue
(Object domainValue, WrapperOptions options) boolean
Object[]
extractJdbcValues
(Object rawJdbcValue, WrapperOptions options) <X> ValueBinder<X>
Obtain a binder object capable of binding values of the given Java type to parameters of a JDBCPreparedStatement
.<X> ValueExtractor<X>
getExtractor
(JavaType<X> javaTypeDescriptor) A "friendly" name for use in logging<T> JdbcLiteralFormatter<T>
getJdbcLiteralFormatter
(JavaType<T> javaTypeDescriptor) <T> JavaType<T>
getJdbcRecommendedJavaTypeMapping
(Integer precision, Integer scale, TypeConfiguration typeConfiguration) int
The JDBC type code used when interacting with JDBC APIs.Class<?>
getPreferredJavaTypeClass
(WrapperOptions options) The Java type class that is preferred by the binder or null.int
hashCode()
resolveAggregateJdbcType
(EmbeddableMappingType mappingType, String sqlType, RuntimeModelCreationContext creationContext) toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.hibernate.type.descriptor.jdbc.JdbcType
addAuxiliaryDatabaseObjects, appendWriteExpression, getCastType, getCheckCondition, getDdlTypeCode, getDefaultSqlTypeCode, getExtraCreateTableInfo, hasDatePart, hasTimePart, isArray, isBinary, isBoolean, isComparable, isDecimal, isDuration, isFloat, isImplicitJson, isImplicitXml, isInteger, isInterval, isJson, isLob, isLobOrLong, isNationalized, isNumber, isSmallInteger, isSpatial, isString, isStringLike, isStringLikeExcludingClob, isTemporal, isXml, registerOutParameter, registerOutParameter, wrapTopLevelSelectionExpression, wrapWriteExpression
Methods inherited from interface org.hibernate.type.descriptor.jdbc.StructuredJdbcType
getSqlTypeName
-
Constructor Details
-
DelayedStructJdbcType
public DelayedStructJdbcType(EmbeddableAggregateJavaType<?> embeddableAggregateJavaType, String structName)
-
-
Method Details
-
getJdbcTypeCode
public int getJdbcTypeCode()Description copied from interface:JdbcType
The JDBC type code used when interacting with JDBC APIs.For example, it's used when calling
PreparedStatement.setNull(int, int)
.- Specified by:
getJdbcTypeCode
in interfaceJdbcType
- Returns:
- a JDBC type code
-
getStructTypeName
- Specified by:
getStructTypeName
in interfaceStructuredJdbcType
-
getJdbcRecommendedJavaTypeMapping
public <T> JavaType<T> getJdbcRecommendedJavaTypeMapping(Integer precision, Integer scale, TypeConfiguration typeConfiguration) - Specified by:
getJdbcRecommendedJavaTypeMapping
in interfaceJdbcType
-
getPreferredJavaTypeClass
Description copied from interface:JdbcType
The Java type class that is preferred by the binder or null.- Specified by:
getPreferredJavaTypeClass
in interfaceJdbcType
-
getJdbcLiteralFormatter
Description copied from interface:JdbcType
Obtain a formatter object capable of rendering values of the given Java type as SQL literals of the type represented by this object.- Specified by:
getJdbcLiteralFormatter
in interfaceJdbcType
-
getBinder
Description copied from interface:JdbcType
Obtain a binder object capable of binding values of the given Java type to parameters of a JDBCPreparedStatement
. -
getExtractor
Description copied from interface:JdbcType
Obtain an extractor object capable of extracting values of the given Java type from a JDBCResultSet
.- Specified by:
getExtractor
in interfaceJdbcType
- Parameters:
javaTypeDescriptor
- The descriptor describing the types of Java values to be extracted- Returns:
- The appropriate extractor
-
getEmbeddableMappingType
- Specified by:
getEmbeddableMappingType
in interfaceAggregateJdbcType
-
resolveAggregateJdbcType
public AggregateJdbcType resolveAggregateJdbcType(EmbeddableMappingType mappingType, String sqlType, RuntimeModelCreationContext creationContext) - Specified by:
resolveAggregateJdbcType
in interfaceAggregateJdbcType
-
createJdbcValue
- Specified by:
createJdbcValue
in interfaceAggregateJdbcType
- Throws:
SQLException
-
extractJdbcValues
- Specified by:
extractJdbcValues
in interfaceAggregateJdbcType
- Throws:
SQLException
-
getFriendlyName
Description copied from interface:JdbcType
A "friendly" name for use in logging- Specified by:
getFriendlyName
in interfaceJdbcType
-
toString
-
equals
-
hashCode
public int hashCode()
-