Class DelayedStructJdbcType
- java.lang.Object
-
- org.hibernate.type.descriptor.jdbc.internal.DelayedStructJdbcType
-
- All Implemented Interfaces:
Serializable
,AggregateJdbcType
,JdbcType
,SqlTypedJdbcType
,StructJdbcType
public class DelayedStructJdbcType extends Object implements StructJdbcType
Descriptor forSTRUCT
handling, which is only a temporary placeholder. During bootstrap,EmbeddableAggregateJavaType
will reportDelayedStructJdbcType
as recommendedJdbcType
, because the realStructJdbcType
can only be built later, as that requires runtime model information in the form ofEmbeddableMappingType
. The realStructJdbcType
is built right afterEmbeddableMappingType
is created, which will then cause a rebuild of the respectiveBasicType
as well as updating theBasicValue.Resolution
of the owning attribute.- See Also:
EmbeddableAggregateJavaType
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DelayedStructJdbcType(EmbeddableAggregateJavaType<?> embeddableAggregateJavaType, String structName)
-
Method Summary
-
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, addAuxiliaryDatabaseObjects, appendWriteExpression, getCastType, getCheckCondition, getDdlTypeCode, getDefaultSqlTypeCode, getExtraCreateTableInfo, hasDatePart, hasTimePart, isArray, isBinary, isBoolean, isComparable, isDecimal, isDuration, isFloat, isInteger, isInterval, isLob, isLobOrLong, isNationalized, isNumber, isSmallInteger, isSpatial, isString, isStringLike, isStringLikeExcludingClob, isTemporal, registerOutParameter, registerOutParameter, wrapTopLevelSelectionExpression, wrapWriteExpression
-
Methods inherited from interface org.hibernate.type.descriptor.jdbc.StructJdbcType
getSqlTypeName
-
-
-
-
Constructor Detail
-
DelayedStructJdbcType
public DelayedStructJdbcType(EmbeddableAggregateJavaType<?> embeddableAggregateJavaType, String structName)
-
-
Method Detail
-
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
public String getStructTypeName()
- Specified by:
getStructTypeName
in interfaceStructJdbcType
-
getJdbcRecommendedJavaTypeMapping
public <T> JavaType<T> getJdbcRecommendedJavaTypeMapping(Integer precision, Integer scale, TypeConfiguration typeConfiguration)
- Specified by:
getJdbcRecommendedJavaTypeMapping
in interfaceJdbcType
-
getPreferredJavaTypeClass
public Class<?> getPreferredJavaTypeClass(WrapperOptions options)
Description copied from interface:JdbcType
The Java type class that is preferred by the binder or null.- Specified by:
getPreferredJavaTypeClass
in interfaceJdbcType
-
getJdbcLiteralFormatter
public <T> JdbcLiteralFormatter<T> getJdbcLiteralFormatter(JavaType<T> javaTypeDescriptor)
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
public <X> ValueBinder<X> getBinder(JavaType<X> javaTypeDescriptor)
Description copied from interface:JdbcType
Obtain a binder object capable of binding values of the given Java type to parameters of a JDBCPreparedStatement
.
-
getExtractor
public <X> ValueExtractor<X> getExtractor(JavaType<X> javaTypeDescriptor)
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
public EmbeddableMappingType getEmbeddableMappingType()
- Specified by:
getEmbeddableMappingType
in interfaceAggregateJdbcType
-
resolveAggregateJdbcType
public AggregateJdbcType resolveAggregateJdbcType(EmbeddableMappingType mappingType, String sqlType, RuntimeModelCreationContext creationContext)
- Specified by:
resolveAggregateJdbcType
in interfaceAggregateJdbcType
-
createJdbcValue
public Object createJdbcValue(Object domainValue, WrapperOptions options) throws SQLException
- Specified by:
createJdbcValue
in interfaceAggregateJdbcType
- Throws:
SQLException
-
extractJdbcValues
public Object[] extractJdbcValues(Object rawJdbcValue, WrapperOptions options) throws SQLException
- Specified by:
extractJdbcValues
in interfaceAggregateJdbcType
- Throws:
SQLException
-
getFriendlyName
public String getFriendlyName()
Description copied from interface:JdbcType
A "friendly" name for use in logging- Specified by:
getFriendlyName
in interfaceJdbcType
-
-