Package org.hibernate.dialect
Class AbstractPostgreSQLStructJdbcType
- java.lang.Object
-
- org.hibernate.dialect.AbstractPostgreSQLStructJdbcType
-
- All Implemented Interfaces:
Serializable,AggregateJdbcType,JdbcType,SqlTypedJdbcType,StructJdbcType
- Direct Known Subclasses:
PostgreSQLStructCastingJdbcType,PostgreSQLStructPGObjectJdbcType
public abstract class AbstractPostgreSQLStructJdbcType extends Object implements StructJdbcType
Implementation for serializing/deserializing an embeddable aggregate to/from the PostgreSQL component format. For regular queries, we select the individual struct elements because the PostgreSQL component format encoding is probably not very efficient.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractPostgreSQLStructJdbcType(EmbeddableMappingType embeddableMappingType, String typeName, int[] orderMapping)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectcreateJdbcValue(Object domainValue, WrapperOptions options)Object[]extractJdbcValues(Object rawJdbcValue, WrapperOptions options)protected <X> XfromString(String string, JavaType<X> javaType, WrapperOptions options)protected <X> ObjectgetBindValue(X value, WrapperOptions options)EmbeddableMappingTypegetEmbeddableMappingType()<X> ValueExtractor<X>getExtractor(JavaType<X> javaType)<T> JavaType<T>getJdbcRecommendedJavaTypeMapping(Integer precision, Integer scale, TypeConfiguration typeConfiguration)intgetJdbcTypeCode()The JDBC type code used when interacting with JDBC APIs.protected StringgetRawStructFromJdbcValue(Object rawJdbcValue)StringgetStructTypeName()protected <X> StringtoString(X value, JavaType<X> javaType, WrapperOptions options)-
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.AggregateJdbcType
resolveAggregateJdbcType
-
Methods inherited from interface org.hibernate.type.descriptor.jdbc.JdbcType
addAuxiliaryDatabaseObjects, addAuxiliaryDatabaseObjects, appendWriteExpression, getBinder, getCastType, getCheckCondition, getDdlTypeCode, getDefaultSqlTypeCode, getExtraCreateTableInfo, getFriendlyName, getJdbcLiteralFormatter, getPreferredJavaTypeClass, 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
-
AbstractPostgreSQLStructJdbcType
protected AbstractPostgreSQLStructJdbcType(EmbeddableMappingType embeddableMappingType, String typeName, int[] orderMapping)
-
-
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
-
getEmbeddableMappingType
public EmbeddableMappingType getEmbeddableMappingType()
- Specified by:
getEmbeddableMappingTypein interfaceAggregateJdbcType
-
getJdbcRecommendedJavaTypeMapping
public <T> JavaType<T> getJdbcRecommendedJavaTypeMapping(Integer precision, Integer scale, TypeConfiguration typeConfiguration)
- Specified by:
getJdbcRecommendedJavaTypeMappingin interfaceJdbcType
-
getExtractor
public <X> ValueExtractor<X> getExtractor(JavaType<X> javaType)
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:
javaType- The descriptor describing the types of Java values to be extracted- Returns:
- The appropriate extractor
-
fromString
protected <X> X fromString(String string, JavaType<X> javaType, WrapperOptions options) throws SQLException
- Throws:
SQLException
-
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
-
toString
protected <X> String toString(X value, JavaType<X> javaType, WrapperOptions options) throws SQLException
- Throws:
SQLException
-
getBindValue
protected <X> Object getBindValue(X value, WrapperOptions options) throws SQLException
- Throws:
SQLException
-
-