Class RowVersionJavaType
- java.lang.Object
-
- org.hibernate.type.descriptor.java.AbstractClassJavaType<byte[]>
-
- org.hibernate.type.descriptor.java.RowVersionJavaType
-
- All Implemented Interfaces:
Serializable,BasicJavaType<byte[]>,JavaType<byte[]>,VersionJavaType<byte[]>
public class RowVersionJavaType extends AbstractClassJavaType<byte[]> implements VersionJavaType<byte[]>
Descriptor forbyte[]handling specifically used for specifically for entity versions/timestamps.- See Also:
- Serialized Form
-
-
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 static RowVersionJavaTypeINSTANCE
-
Constructor Summary
Constructors Constructor Description RowVersionJavaType()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanareEqual(byte[] one, byte[] another)Determine if two instances are equalintextractHashCode(byte[] bytes)Extract a proper hash code for the given value.StringextractLoggableRepresentation(byte[] value)Extract a loggable representation of the given value.byte[]fromString(CharSequence string)byte[]next(byte[] current, Long length, Integer precision, Integer scale, SharedSessionContractImplementor session)Increment the version.byte[]seed(Long length, Integer precision, Integer scale, SharedSessionContractImplementor session)Generate an initial version.StringtoString(byte[] bytes)<X> Xunwrap(byte[] value, Class<X> type, WrapperOptions options)Unwrap an instance of our handled Java type into the requested type.<X> byte[]wrap(X value, WrapperOptions options)Wrap a value as our handled Java type.-
Methods inherited from class org.hibernate.type.descriptor.java.AbstractClassJavaType
getComparator, getJavaType, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.type.descriptor.java.BasicJavaType
getRecommendedJdbcType
-
Methods inherited from interface org.hibernate.type.descriptor.java.JavaType
appendEncodedString, coerce, createJavaType, createJavaType, fromEncodedString, getComparator, getDefaultSqlLength, getDefaultSqlPrecision, getDefaultSqlScale, getDefaultValue, getJavaType, getJavaTypeClass, getLongSqlLength, getMutabilityPlan, getReplacement, isInstance, isTemporalType, isWider
-
-
-
-
Field Detail
-
INSTANCE
public static final RowVersionJavaType INSTANCE
-
-
Method Detail
-
areEqual
public boolean areEqual(byte[] one, byte[] another)Description copied from interface:JavaTypeDetermine if two instances are equal- Specified by:
areEqualin interfaceJavaType<byte[]>- Overrides:
areEqualin classAbstractClassJavaType<byte[]>- Parameters:
one- One instanceanother- The other instance- Returns:
- True if the two are considered equal; false otherwise.
-
extractHashCode
public int extractHashCode(byte[] bytes)
Description copied from interface:JavaTypeExtract a proper hash code for the given value.- Specified by:
extractHashCodein interfaceJavaType<byte[]>- Overrides:
extractHashCodein classAbstractClassJavaType<byte[]>- Parameters:
bytes- The value for which to extract a hash code.- Returns:
- The extracted hash code.
-
extractLoggableRepresentation
public String extractLoggableRepresentation(byte[] value)
Description copied from interface:JavaTypeExtract a loggable representation of the given value.- Specified by:
extractLoggableRepresentationin interfaceJavaType<byte[]>- Overrides:
extractLoggableRepresentationin classAbstractClassJavaType<byte[]>- Parameters:
value- The value for which to extract a loggable representation.- Returns:
- The loggable representation
-
fromString
public byte[] fromString(CharSequence string)
- Specified by:
fromStringin interfaceBasicJavaType<byte[]>- Specified by:
fromStringin interfaceJavaType<byte[]>
-
unwrap
public <X> X unwrap(byte[] value, 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> byte[] wrap(X value, WrapperOptions options)Description copied from interface:JavaTypeWrap a value as our handled Java type.Intended use is during
ResultSetextraction.
-
seed
public byte[] seed(Long length, Integer precision, Integer scale, SharedSessionContractImplementor session)
Description copied from interface:VersionJavaTypeGenerate an initial version.- Specified by:
seedin interfaceVersionJavaType<byte[]>- 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 byte[] next(byte[] current, Long length, Integer precision, Integer scale, SharedSessionContractImplementor session)Description copied from interface:VersionJavaTypeIncrement the version.- Specified by:
nextin interfaceVersionJavaType<byte[]>- 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
-
-