Class DescriptorImmutableType<T,JDBC extends org.hibernate.type.descriptor.jdbc.JdbcType,JAVA extends org.hibernate.type.descriptor.java.JavaType<T>>
java.lang.Object
io.hypersistence.utils.hibernate.type.ImmutableType<T>
io.hypersistence.utils.hibernate.type.DescriptorImmutableType<T,JDBC,JAVA>
- All Implemented Interfaces:
Serializable,org.hibernate.query.BindableType<T>,org.hibernate.query.sqm.SqmExpressible<T>,org.hibernate.type.Type,org.hibernate.usertype.EnhancedUserType<T>,org.hibernate.usertype.UserType<T>
- Direct Known Subclasses:
CurrencyUnitType,Iso8601MonthType,MonthDayDateType,MonthDayIntegerType,YearMonthDateType,YearMonthEpochType,YearMonthIntegerType,YearMonthTimestampType,YearType,ZoneIdType
public abstract class DescriptorImmutableType<T,JDBC extends org.hibernate.type.descriptor.jdbc.JdbcType,JAVA extends org.hibernate.type.descriptor.java.JavaType<T>>
extends ImmutableType<T>
implements org.hibernate.query.BindableType<T>, org.hibernate.query.sqm.SqmExpressible<T>
Very convenient base class for implementing immutable object types using Hibernate
UserType using the JdbcType and JavaType descriptors.- Author:
- Vlad Mihalcea
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionDescriptorImmutableType(Class<T> clazz, JDBC jdbcTypeDescriptor, JAVA javaTypeDescriptor) DescriptorImmutableType(Class<T> clazz, JDBC jdbcTypeDescriptor, JAVA javaTypeDescriptor, Configuration configuration) -
Method Summary
Modifier and TypeMethodDescriptionprotected Tget(ResultSet rs, int position, org.hibernate.engine.spi.SharedSessionContractImplementor session, Object owner) Get the column value from the JDBCResultSet.org.hibernate.type.descriptor.java.JavaType<T>intnullSafeGet(ResultSet rs, int position, org.hibernate.engine.spi.SharedSessionContractImplementor session, Object owner) voidnullSafeSet(PreparedStatement st, Object value, int index, org.hibernate.engine.spi.SharedSessionContractImplementor session) protected voidset(PreparedStatement st, T value, int index, org.hibernate.engine.spi.SharedSessionContractImplementor session) Set the column value on the provided JDBCPreparedStatement.Methods inherited from class io.hypersistence.utils.hibernate.type.ImmutableType
assemble, assemble, beforeAssemble, compare, compare, deepCopy, deepCopy, disassemble, disassemble, equals, getColumnSpan, getConfiguration, getHashCode, getHashCode, getName, getReturnedClass, getSqlTypeCodes, hashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, nullSafeSet, replace, replace, replace, returnedClass, toColumnNullness, toLoggableString, toSqlLiteral, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.usertype.EnhancedUserType
fromStringValueMethods inherited from interface org.hibernate.query.sqm.SqmExpressible
getRelationalJavaType, isInstance, resolveExpressibleMethods inherited from interface org.hibernate.type.Type
disassembleMethods inherited from interface org.hibernate.usertype.UserType
getDefaultSqlLength, getDefaultSqlPrecision, getDefaultSqlScale, getJdbcType, getValueConverter
-
Constructor Details
-
DescriptorImmutableType
-
DescriptorImmutableType
public DescriptorImmutableType(Class<T> clazz, JDBC jdbcTypeDescriptor, JAVA javaTypeDescriptor, Configuration configuration)
-
-
Method Details
-
getSqlType
public int getSqlType()- Specified by:
getSqlTypein interfaceorg.hibernate.usertype.UserType<T>
-
getBindableJavaType
- Specified by:
getBindableJavaTypein interfaceorg.hibernate.query.BindableType<T>
-
getExpressibleJavaType
- Specified by:
getExpressibleJavaTypein interfaceorg.hibernate.query.sqm.SqmExpressible<T>