Class InstantJavaType
- java.lang.Object
- org.hibernate.type.descriptor.java.AbstractClassJavaType<T>
- org.hibernate.type.descriptor.java.AbstractTemporalJavaType<Instant>
- org.hibernate.type.descriptor.java.InstantJavaType
- All Implemented Interfaces:
Serializable,BasicJavaType<Instant>,JavaType<Instant>,TemporalJavaType<Instant>,VersionJavaType<Instant>
public classInstantJavaTypeextendsAbstractTemporalJavaType<Instant>implementsVersionJavaType<Instant>
Java type descriptor for the JavaInstanttype.
Nested Class Summary
Nested classes/interfaces inherited from interface org.hibernate.type.descriptor.java.JavaType
JavaType.CoercionContext
Field Summary
Fields Modifier and Type Field Description staticInstantJavaTypeINSTANCESingleton access
Constructor Summary
Constructors Constructor Description InstantJavaType()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <X> TemporalJavaType<X>forDatePrecision(TypeConfiguration typeConfiguration)protected <X> TemporalJavaType<X>forTimePrecision(TypeConfiguration typeConfiguration)protected <X> TemporalJavaType<X>forTimestampPrecision(TypeConfiguration typeConfiguration)InstantfromString(CharSequence string)intgetDefaultSqlPrecision(Dialect dialect,JdbcType jdbcType)The default column precision when this Java type is mapped to a SQL data type which is parametrized by precision, for exampleTypes.DECIMAL.TemporalTypegetPrecision()The precision represented by this typeJdbcTypegetRecommendedJdbcType(JdbcTypeIndicators context)Obtain the "recommended"SQL type descriptorfor this Java type.Instantnext(Instant current,Long length,Integer precision,Integer scale,SharedSessionContractImplementor session)Increment the version.Instantseed(Long length,Integer precision,Integer scale,SharedSessionContractImplementor session)Generate an initial version.StringtoString(Instant value)<X> Xunwrap(Instant instant,Class<X> type,WrapperOptions options)Unwrap an instance of our handled Java type into the requested type.booleanuseObjectEqualsHashCode()Whether to useObject.equals(Object)andObject.hashCode()orJavaType.areEqual(Object, Object)andJavaType.extractHashCode(Object)for objects of this java type.<X> Instantwrap(X value,WrapperOptions options)Wrap a value as our handled Java type.Methods inherited from class org.hibernate.type.descriptor.java.AbstractTemporalJavaType
resolveTypeForPrecision,toString
Methods inherited from class org.hibernate.type.descriptor.java.AbstractClassJavaType
areEqual,extractHashCode,extractLoggableRepresentation,getComparator,getJavaType,getJavaTypeClass,getMutabilityPlan,unknownUnwrap,unknownWrap
Methods inherited from class java.lang.Object
clone,equals,finalize,getClass,hashCode,notify,notifyAll,wait,wait,wait
Methods inherited from interface org.hibernate.type.descriptor.java.JavaType
appendEncodedString,areEqual,coerce,createJavaType,createJavaType,extractHashCode,extractLoggableRepresentation,fromEncodedString,getCheckCondition,getComparator,getDefaultSqlLength,getDefaultSqlScale,getDefaultValue,getJavaType,getJavaTypeClass,getLongSqlLength,getMutabilityPlan,getReplacement,getTypeName,isInstance,isWider
Methods inherited from interface org.hibernate.type.descriptor.java.TemporalJavaType
isTemporalType
Field Detail
INSTANCE
public static final InstantJavaType INSTANCE
Singleton access
Method Detail
getPrecision
public TemporalType getPrecision()
Description copied from interface:TemporalJavaTypeThe precision represented by this type- Specified by:
getPrecisionin interfaceTemporalJavaType<Instant>
forDatePrecision
protected <X> TemporalJavaType<X> forDatePrecision(TypeConfiguration typeConfiguration)
- Overrides:
forDatePrecisionin classAbstractTemporalJavaType<Instant>
forTimestampPrecision
protected <X> TemporalJavaType<X> forTimestampPrecision(TypeConfiguration typeConfiguration)
- Overrides:
forTimestampPrecisionin classAbstractTemporalJavaType<Instant>
forTimePrecision
protected <X> TemporalJavaType<X> forTimePrecision(TypeConfiguration typeConfiguration)
- Overrides:
forTimePrecisionin classAbstractTemporalJavaType<Instant>
getRecommendedJdbcType
public JdbcType getRecommendedJdbcType(JdbcTypeIndicators context)
Description copied from interface:JavaTypeObtain the "recommended"SQL type descriptorfor this Java type. Often, but not always, the source of this recommendation is the JDBC specification.- Specified by:
getRecommendedJdbcTypein interfaceBasicJavaType<Instant>- Specified by:
getRecommendedJdbcTypein interfaceJavaType<Instant>- Parameters:
context- Contextual information- Returns:
- The recommended SQL type descriptor
useObjectEqualsHashCode
public boolean useObjectEqualsHashCode()
Description copied from interface:JavaTypeWhether to useObject.equals(Object)andObject.hashCode()orJavaType.areEqual(Object, Object)andJavaType.extractHashCode(Object)for objects of this java type. This is useful to avoid mega-morphic callsites.- Specified by:
useObjectEqualsHashCodein interfaceJavaType<Instant>
fromString
public Instant fromString(CharSequence string)
- Specified by:
fromStringin interfaceBasicJavaType<Instant>- Specified by:
fromStringin interfaceJavaType<Instant>
unwrap
public <X> X unwrap(Instant instant,Class<X> type,WrapperOptions options)
Description copied from interface:JavaTypeUnwrap an instance of our handled Java type into the requested type.As an example, if this is a
JavaType<Integer>and we are asked to unwrap theInteger valueas aLong, we would return something likeLong.valueOf( value.longValue() ).Intended use is during
PreparedStatementbinding.
wrap
public <X> Instant wrap(X value,WrapperOptions options)
Description copied from interface:JavaTypeWrap a value as our handled Java type.Intended use is during
ResultSetextraction.
getDefaultSqlPrecision
public int getDefaultSqlPrecision(Dialect dialect,JdbcType jdbcType)
Description copied from interface:JavaTypeThe default column precision when this Java type is mapped to a SQL data type which is parametrized by precision, for exampleTypes.DECIMAL.- Specified by:
getDefaultSqlPrecisionin interfaceJavaType<Instant>- Returns:
Size.DEFAULT_PRECISIONunless overridden
seed
public Instant seed(Long length,Integer precision,Integer scale,SharedSessionContractImplementor session)
Description copied from interface:VersionJavaTypeGenerate an initial version.Note that this operation is only used when the program sets a null or negative number as the value of the entity version field. It is not called when the program sets the version field to a sensible-looking version.
- Specified by:
seedin interfaceVersionJavaType<Instant>- Parameters:
length- The length of the typeprecision- The precision of the typescale- The scale of the typesession- The session from which this request originates.- Returns:
- an instance of the type
next
public Instant next(Instant current,Long length,Integer precision,Integer scale,SharedSessionContractImplementor session)
Description copied from interface:VersionJavaTypeIncrement the version.- Specified by:
nextin interfaceVersionJavaType<Instant>- Parameters:
current- the current versionlength- The length of the typeprecision- The precision of the typescale- The scale of the typesession- The session from which this request originates.- Returns:
- an instance of the type