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 forSTRUCThandling, which is only a temporary placeholder. During bootstrap,EmbeddableAggregateJavaTypewill reportDelayedStructJdbcTypeas recommendedJdbcType, because the realStructJdbcTypecan only be built later, as that requires runtime model information in the form ofEmbeddableMappingType. The realStructJdbcTypeis built right afterEmbeddableMappingTypeis created, which will then cause a rebuild of the respectiveBasicTypeas well as updating theBasicValue.Resolutionof 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:JdbcTypeThe JDBC type code used when interacting with JDBC APIs.For example, it's used when calling
PreparedStatement.setNull(int, int).- Specified by:
getJdbcTypeCodein interfaceJdbcType- Returns:
- a JDBC type code
-
getStructTypeName
public String getStructTypeName()
- Specified by:
getStructTypeNamein interfaceStructJdbcType
-
getJdbcRecommendedJavaTypeMapping
public <T> JavaType<T> getJdbcRecommendedJavaTypeMapping(Integer precision, Integer scale, TypeConfiguration typeConfiguration)
- Specified by:
getJdbcRecommendedJavaTypeMappingin interfaceJdbcType
-
getPreferredJavaTypeClass
public Class<?> getPreferredJavaTypeClass(WrapperOptions options)
Description copied from interface:JdbcTypeThe Java type class that is preferred by the binder or null.- Specified by:
getPreferredJavaTypeClassin interfaceJdbcType
-
getJdbcLiteralFormatter
public <T> JdbcLiteralFormatter<T> getJdbcLiteralFormatter(JavaType<T> javaTypeDescriptor)
Description copied from interface:JdbcTypeObtain a formatter object capable of rendering values of the given Java type as SQL literals of the type represented by this object.- Specified by:
getJdbcLiteralFormatterin interfaceJdbcType
-
getBinder
public <X> ValueBinder<X> getBinder(JavaType<X> javaTypeDescriptor)
Description copied from interface:JdbcTypeObtain 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:JdbcTypeObtain an extractor object capable of extracting values of the given Java type from a JDBCResultSet.- Specified by:
getExtractorin interfaceJdbcType- Parameters:
javaTypeDescriptor- The descriptor describing the types of Java values to be extracted- Returns:
- The appropriate extractor
-
getEmbeddableMappingType
public EmbeddableMappingType getEmbeddableMappingType()
- Specified by:
getEmbeddableMappingTypein interfaceAggregateJdbcType
-
resolveAggregateJdbcType
public AggregateJdbcType resolveAggregateJdbcType(EmbeddableMappingType mappingType, String sqlType, RuntimeModelCreationContext creationContext)
- Specified by:
resolveAggregateJdbcTypein interfaceAggregateJdbcType
-
createJdbcValue
public Object createJdbcValue(Object domainValue, WrapperOptions options) throws SQLException
- Specified by:
createJdbcValuein interfaceAggregateJdbcType- Throws:
SQLException
-
extractJdbcValues
public Object[] extractJdbcValues(Object rawJdbcValue, WrapperOptions options) throws SQLException
- Specified by:
extractJdbcValuesin interfaceAggregateJdbcType- Throws:
SQLException
-
getFriendlyName
public String getFriendlyName()
Description copied from interface:JdbcTypeA "friendly" name for use in logging- Specified by:
getFriendlyNamein interfaceJdbcType
-
-