Class DurationJavaType
java.lang.Object
org.hibernate.type.descriptor.java.AbstractClassJavaType<Duration>
org.hibernate.type.descriptor.java.DurationJavaType
- All Implemented Interfaces:
Serializable,BasicJavaType<Duration>,JavaType<Duration>
Descriptor for
Duration, which is represented internally
as (long seconds, int nanoseconds), approximately
28 decimal digits of precision. This quantity must be stored in
the database as a single integer with units of nanoseconds, unless
the ANSI SQL interval type is supported.
In practice, the 19 decimal digits of a SQL bigint are
capable of representing six centuries in nanoseconds and are
sufficient for many applications. However, by default, we map
Java Duration to SQL numeric(21) here, which
can comfortably represent 60 millennia of nanos.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.hibernate.type.descriptor.java.JavaType
JavaType.CoercionContext -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfromString(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.intgetDefaultSqlScale(Dialect dialect, JdbcType jdbcType) The default column scale when this Java type is mapped to a SQL data type which is parametrized by scale, for exampleTypes.DECIMAL.getRecommendedJdbcType(JdbcTypeIndicators context) Obtain the "recommended"SQL type descriptorfor this Java type.<X> Xunwrap(Duration duration, Class<X> type, WrapperOptions options) Unwrap an instance of our handled Java type into the requested type.booleanWhether to useObject.equals(Object)andObject.hashCode()orJavaType.areEqual(Object, Object)andJavaType.extractHashCode(Object)for objects of this java type.<X> Durationwrap(X value, WrapperOptions options) Wrap a value as our handled Java type.Methods inherited from class org.hibernate.type.descriptor.java.AbstractClassJavaType
areEqual, extractHashCode, extractLoggableRepresentation, getComparator, getJavaType, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrapMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.type.descriptor.java.JavaType
appendEncodedString, coerce, createJavaType, fromEncodedString, getCheckCondition, getDefaultSqlLength, getDefaultValue, getLongSqlLength, getReplacement, getTypeName, isInstance, isTemporalType, isWider
-
Field Details
-
INSTANCE
Singleton access
-
-
Constructor Details
-
DurationJavaType
public DurationJavaType()
-
-
Method Details
-
getRecommendedJdbcType
Description copied from interface:BasicJavaTypeObtain the "recommended"SQL type descriptorfor this Java type. Often, but not always, the source of this recommendation is the JDBC specification.- 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. -
toString
-
fromString
-
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.- Type Parameters:
X- The conversion type.- Parameters:
duration- The value to unwraptype- The type as which to unwrapoptions- The options- Returns:
- The unwrapped value.
-
wrap
Description copied from interface:JavaTypeWrap a value as our handled Java type.Intended use is during
ResultSetextraction.- Type Parameters:
X- The conversion type.- Parameters:
value- The value to wrap.options- The options- Returns:
- The wrapped value.
-
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.- Returns:
Size.DEFAULT_PRECISIONunless overridden
-
getDefaultSqlScale
Description copied from interface:JavaTypeThe default column scale when this Java type is mapped to a SQL data type which is parametrized by scale, for exampleTypes.DECIMAL.- Returns:
Size.DEFAULT_SCALEunless overridden
-