Class JdbcTimeJavaType
- java.lang.Object
-
- org.hibernate.type.descriptor.java.AbstractClassJavaType<T>
-
- org.hibernate.type.descriptor.java.AbstractTemporalJavaType<Date>
-
- org.hibernate.type.descriptor.java.JdbcTimeJavaType
-
- All Implemented Interfaces:
Serializable
,BasicJavaType<Date>
,JavaType<Date>
,TemporalJavaType<Date>
public class JdbcTimeJavaType extends AbstractTemporalJavaType<Date>
Descriptor forTime
handling.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JdbcTimeJavaType.TimeMutabilityPlan
-
Nested classes/interfaces inherited from interface org.hibernate.type.descriptor.java.JavaType
JavaType.CoercionContext
-
-
Field Summary
Fields Modifier and Type Field Description static JdbcTimeJavaType
INSTANCE
static DateTimeFormatter
LITERAL_FORMATTER
static DateTimeFormatter
LOGGABLE_FORMATTER
Alias forDateTimeFormatter.ISO_LOCAL_TIME
.static String
TIME_FORMAT
-
Constructor Summary
Constructors Constructor Description JdbcTimeJavaType()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
areEqual(Date one, Date another)
Determine if two instances are equalDate
coerce(Object value, JavaType.CoercionContext coercionContext)
int
extractHashCode(Date value)
Extract a proper hash code for this value.protected <X> TemporalJavaType<X>
forTimePrecision(TypeConfiguration typeConfiguration)
Date
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
.jakarta.persistence.TemporalType
getPrecision()
The precision represented by this typeJdbcType
getRecommendedJdbcType(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? Generally this comes down togetJavaTypeClass().
isInstance()
, though some descriptors (mainly the java.sql.Date, Time and Timestamp descriptors) might need different semanticsString
toString(Date value)
Object
unwrap(Date value, Class type, WrapperOptions options)
Unwrap an instance of our handled Java type into the requested type.Date
wrap(Object value, WrapperOptions options)
Wrap a value as our handled Java type.-
Methods inherited from class org.hibernate.type.descriptor.java.AbstractTemporalJavaType
forDatePrecision, forTimestampPrecision, 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, isWider
-
-
-
-
Field Detail
-
INSTANCE
public static final JdbcTimeJavaType INSTANCE
-
TIME_FORMAT
public static final String TIME_FORMAT
- See Also:
- Constant Field Values
-
LITERAL_FORMATTER
public static final DateTimeFormatter LITERAL_FORMATTER
-
LOGGABLE_FORMATTER
public static final DateTimeFormatter LOGGABLE_FORMATTER
Alias forDateTimeFormatter.ISO_LOCAL_TIME
. Intended for use with logging- See Also:
LITERAL_FORMATTER
-
-
Method Detail
-
getPrecision
public jakarta.persistence.TemporalType getPrecision()
Description copied from interface:TemporalJavaType
The precision represented by this type
-
isInstance
public boolean isInstance(Object value)
Description copied from interface:JavaType
Is the given value an instance of the described type? Generally this comes down togetJavaTypeClass().
isInstance()
, though some descriptors (mainly the java.sql.Date, Time and Timestamp descriptors) might need different semantics
-
extractHashCode
public int extractHashCode(Date value)
Description copied from interface:JavaType
Extract a proper hash code for this 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.
-
areEqual
public boolean areEqual(Date one, Date another)
Description copied from interface:JavaType
Determine if two instances are equal
-
coerce
public Date coerce(Object value, JavaType.CoercionContext coercionContext)
-
unwrap
public Object unwrap(Date value, Class type, WrapperOptions options)
Description copied from interface:JavaType
Unwrap an instance of our handled Java type into the requested type. As an example, if this is aJavaType<Integer>
and we are asked to unwrap theInteger value
as aLong
we would return something likeLong.valueOf( value.longValue() )
. Intended use is duringPreparedStatement
binding.- Parameters:
value
- The value to unwraptype
- The type as which to unwrapoptions
- The options- Returns:
- The unwrapped value.
-
wrap
public Date wrap(Object value, WrapperOptions options)
Description copied from interface:JavaType
Wrap a value as our handled Java type. Intended use is duringResultSet
extraction.- Parameters:
value
- The value to wrap.options
- The options- Returns:
- The wrapped value.
-
fromString
public Date fromString(CharSequence string)
-
getRecommendedJdbcType
public JdbcType getRecommendedJdbcType(JdbcTypeIndicators context)
Description copied from interface:BasicJavaType
Obtain the "recommended" SQL type descriptor for this Java type. The recommended aspect comes from the JDBC spec (mostly).- Parameters:
context
- Contextual information- Returns:
- The recommended SQL type descriptor
-
getDefaultSqlPrecision
public int getDefaultSqlPrecision(Dialect dialect, JdbcType jdbcType)
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
.- Returns:
Size.DEFAULT_PRECISION
unless overridden
-
forTimePrecision
protected <X> TemporalJavaType<X> forTimePrecision(TypeConfiguration typeConfiguration)
- Overrides:
forTimePrecision
in classAbstractTemporalJavaType<Date>
-
-