Class JdbcTimestampJavaType
java.lang.Object
org.hibernate.type.descriptor.java.AbstractClassJavaType<T>
org.hibernate.type.descriptor.java.AbstractTemporalJavaType<Date>
org.hibernate.type.descriptor.java.JdbcTimestampJavaType
- All Implemented Interfaces:
Serializable,BasicJavaType<Date>,JavaType<Date>,TemporalJavaType<Date>,VersionJavaType<Date>
public class JdbcTimestampJavaType
extends AbstractTemporalJavaType<Date>
implements VersionJavaType<Date>
Descriptor for
Timestamp handling.- See Also:
- Implementation Specification:
- Unlike most
JavaTypeimplementations, can handle 2 different "domain representations" (most map just a single type): generalDatevalues in addition toTimestampvalues. This capability is shared withJdbcDateJavaTypeandJdbcTimeJavaType.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.hibernate.type.descriptor.java.JavaType
JavaType.CoercionContext -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final JdbcTimestampJavaTypestatic final DateTimeFormatterIntended for use in reading HQL literals and writing SQL literalsstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendEncodedString(SqlAppender sb, Date value) Appends the value to the SqlAppender in an encoded format that can be decoded again byJavaType.fromEncodedString(CharSequence, int, int).booleanDetermine if two instances are equalcoerce(Object value, JavaType.CoercionContext coercionContext) intextractHashCode(Date value) Extract a proper hash code for the given value.protected <X> TemporalJavaType<X>forDatePrecision(TypeConfiguration typeConfiguration) protected <X> TemporalJavaType<X>forTimestampPrecision(TypeConfiguration typeConfiguration) fromEncodedString(CharSequence charSequence, int start, int end) Reads the encoded value from the char sequence start index until the end index and returns the decoded value.fromString(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.The precision represented by this typegetRecommendedJdbcType(JdbcTypeIndicators context) Obtain the "recommended"SQL type descriptorfor this Java type.booleanisInstance(Object value) Is the given value an instance of the described type?booleanDetermines if this Java type is wider than the given Java type, that is, if the given type can be safely widened to this type.next(Date current, Long length, Integer precision, Integer scale, SharedSessionContractImplementor session) Increment the version.seed(Long length, Integer precision, Integer scale, SharedSessionContractImplementor session) Generate an initial version.unwrap(Date value, Class type, WrapperOptions options) Unwrap an instance of our handled Java type into the requested type.<X> Datewrap(X value, WrapperOptions options) Wrap a value as our handled Java type.Methods inherited from class org.hibernate.type.descriptor.java.AbstractTemporalJavaType
forTimePrecision, resolveTypeForPrecision, toStringMethods inherited from class org.hibernate.type.descriptor.java.AbstractClassJavaType
extractLoggableRepresentation, getComparator, getJavaType, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrapMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hibernate.type.descriptor.java.JavaType
createJavaType, extractLoggableRepresentation, getCheckCondition, getComparator, getDefaultSqlLength, getDefaultSqlScale, getDefaultValue, getJavaType, getJavaTypeClass, getLongSqlLength, getMutabilityPlan, getReplacement, getTypeName, useObjectEqualsHashCodeMethods inherited from interface org.hibernate.type.descriptor.java.TemporalJavaType
isTemporalType
-
Field Details
-
INSTANCE
-
TIMESTAMP_FORMAT
- See Also:
-
LITERAL_FORMATTER
Intended for use in reading HQL literals and writing SQL literals- See Also:
-
-
Constructor Details
-
JdbcTimestampJavaType
public JdbcTimestampJavaType()
-
-
Method Details
-
getPrecision
Description copied from interface:TemporalJavaTypeThe precision represented by this type- Specified by:
getPrecisionin interfaceTemporalJavaType<Date>
-
isInstance
Description copied from interface:JavaTypeIs the given value an instance of the described type?Usually just
getJavaTypeClass().isInstance(value), but some descriptors need specialized semantics, for example, the descriptors forjava.sql.Date,java.sql.Time, andjava.sql.Timestamp.- Specified by:
isInstancein interfaceJavaType<Date>
-
areEqual
Description copied from interface:JavaTypeDetermine if two instances are equal -
extractHashCode
Description copied from interface:JavaTypeExtract a proper hash code for the given value.- Specified by:
extractHashCodein interfaceJavaType<Date>- Overrides:
extractHashCodein classAbstractClassJavaType<Date>- Parameters:
value- The value for which to extract a hash code.- Returns:
- The extracted hash code.
-
coerce
-
unwrap
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
Description copied from interface:JavaTypeWrap a value as our handled Java type.Intended use is during
ResultSetextraction. -
isWider
Description copied from interface:JavaTypeDetermines if this Java type is wider than the given Java type, that is, if the given type can be safely widened to this type. -
toString
-
fromString
- Specified by:
fromStringin interfaceBasicJavaType<Date>- Specified by:
fromStringin interfaceJavaType<Date>
-
appendEncodedString
Description copied from interface:JavaTypeAppends the value to the SqlAppender in an encoded format that can be decoded again byJavaType.fromEncodedString(CharSequence, int, int). Implementers do not need to care about escaping. This is similar toJavaType.toString(Object), with the difference that the aim of this method is encoding to the appender.- Specified by:
appendEncodedStringin interfaceJavaType<Date>
-
fromEncodedString
Description copied from interface:JavaTypeReads the encoded value from the char sequence start index until the end index and returns the decoded value. Implementers do not need to care about escaping. This is similar toJavaType.fromString(CharSequence), with the difference that the aim of this method is decoding from a range within an existing char sequence.- Specified by:
fromEncodedStringin interfaceJavaType<Date>
-
getRecommendedJdbcType
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<Date>- Specified by:
getRecommendedJdbcTypein interfaceJavaType<Date>- Parameters:
context- Contextual information- Returns:
- The recommended SQL type descriptor
-
forTimestampPrecision
- Overrides:
forTimestampPrecisionin classAbstractTemporalJavaType<Date>
-
forDatePrecision
- Overrides:
forDatePrecisionin classAbstractTemporalJavaType<Date>
-
getDefaultSqlPrecision
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<Date>- Returns:
Size.DEFAULT_PRECISIONunless overridden
-