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
JavaType
implementations, can handle 2 different "domain representations" (most map just a single type): generalDate
values in addition toTimestamp
values. This capability is shared withJdbcDateJavaType
andJdbcTimeJavaType
.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.hibernate.type.descriptor.java.JavaType
JavaType.CoercionContext
-
Field Summary
Modifier and TypeFieldDescriptionstatic final JdbcTimestampJavaType
static final DateTimeFormatter
Intended for use in reading HQL literals and writing SQL literalsstatic final String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendEncodedString
(SqlAppender sb, Date value) Appends the value to the SqlAppender in an encoded format that can be decoded again byJavaType.fromEncodedString(CharSequence, int, int)
.boolean
Determine if two instances are equalcoerce
(Object value, JavaType.CoercionContext coercionContext) int
extractHashCode
(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) int
getDefaultSqlPrecision
(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 descriptor
for this Java type.boolean
isInstance
(Object value) Is the given value an instance of the described type?boolean
Determines 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> Date
wrap
(X value, WrapperOptions options) Wrap a value as our handled Java type.Methods inherited from class org.hibernate.type.descriptor.java.AbstractTemporalJavaType
forTimePrecision, resolveTypeForPrecision, toString
Methods inherited from class org.hibernate.type.descriptor.java.AbstractClassJavaType
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
createJavaType, createJavaType, extractLoggableRepresentation, getCheckCondition, getComparator, getDefaultSqlLength, getDefaultSqlScale, getDefaultValue, getJavaType, getJavaTypeClass, getLongSqlLength, getMutabilityPlan, getReplacement, getTypeName, useObjectEqualsHashCode
Methods 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:TemporalJavaType
The precision represented by this type- Specified by:
getPrecision
in interfaceTemporalJavaType<Date>
-
isInstance
Description copied from interface:JavaType
Is 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:
isInstance
in interfaceJavaType<Date>
-
areEqual
Description copied from interface:JavaType
Determine if two instances are equal -
extractHashCode
Description copied from interface:JavaType
Extract a proper hash code for the given value.- Specified by:
extractHashCode
in interfaceJavaType<Date>
- Overrides:
extractHashCode
in classAbstractClassJavaType<Date>
- Parameters:
value
- The value for which to extract a hash code.- Returns:
- The extracted hash code.
-
coerce
-
unwrap
Description copied from interface:JavaType
Unwrap 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 value
as aLong
, we would return something likeLong.valueOf( value.longValue() )
.Intended use is during
PreparedStatement
binding. -
wrap
Description copied from interface:JavaType
Wrap a value as our handled Java type.Intended use is during
ResultSet
extraction. -
isWider
Description copied from interface:JavaType
Determines 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:
fromString
in interfaceBasicJavaType<Date>
- Specified by:
fromString
in interfaceJavaType<Date>
-
appendEncodedString
Description copied from interface:JavaType
Appends 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:
appendEncodedString
in interfaceJavaType<Date>
-
fromEncodedString
Description copied from interface:JavaType
Reads 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:
fromEncodedString
in interfaceJavaType<Date>
-
getRecommendedJdbcType
Description copied from interface:JavaType
Obtain the "recommended"SQL type descriptor
for this Java type. Often, but not always, the source of this recommendation is the JDBC specification.- Specified by:
getRecommendedJdbcType
in interfaceBasicJavaType<Date>
- Specified by:
getRecommendedJdbcType
in interfaceJavaType<Date>
- Parameters:
context
- Contextual information- Returns:
- The recommended SQL type descriptor
-
forTimestampPrecision
- Overrides:
forTimestampPrecision
in classAbstractTemporalJavaType<Date>
-
forDatePrecision
- Overrides:
forDatePrecision
in classAbstractTemporalJavaType<Date>
-
getDefaultSqlPrecision
Description copied from interface:JavaType
The default column precision when this Java type is mapped to a SQL data type which is parametrized by precision, for exampleTypes.DECIMAL
.- Specified by:
getDefaultSqlPrecision
in interfaceJavaType<Date>
- Returns:
Size.DEFAULT_PRECISION
unless overridden
-