Class VersionValue

java.lang.Object
org.hibernate.engine.spi.VersionValue
All Implemented Interfaces:
UnsavedValueStrategy

public class VersionValue extends Object implements UnsavedValueStrategy
A strategy for determining if a version value is a version of a new transient instance or a previously persistent transient instance. The strategy is determined by the unsaved-value attribute in the mapping file.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final VersionValue
    Assume the transient instance is newly instantiated if the version is negative, otherwise assume it is a detached instance.
    static final VersionValue
    Assume the transient instance is newly instantiated if the version is null, otherwise assume it is a detached instance.
    static final VersionValue
    Assume the transient instance is newly instantiated if the version is null, otherwise defer to the identifier unsaved-value.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
     
    Assume the transient instance is newly instantiated if its version is null or equal to value
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable Object
    getDefaultValue(@Nullable Object currentValue)
    Get a default value meant to indicate transience.
    @Nullable Boolean
    isUnsaved(@Nullable Object version)
    Make the transient/detached determination
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • NULL

      public static final VersionValue NULL
      Assume the transient instance is newly instantiated if the version is null, otherwise assume it is a detached instance.
    • UNDEFINED

      public static final VersionValue UNDEFINED
      Assume the transient instance is newly instantiated if the version is null, otherwise defer to the identifier unsaved-value.
    • NEGATIVE

      public static final VersionValue NEGATIVE
      Assume the transient instance is newly instantiated if the version is negative, otherwise assume it is a detached instance.
  • Constructor Details

    • VersionValue

      protected VersionValue()
    • VersionValue

      public VersionValue(Object value)
      Assume the transient instance is newly instantiated if its version is null or equal to value
      Parameters:
      value - value to compare to
  • Method Details

    • isUnsaved

      public @Nullable Boolean isUnsaved(@Nullable Object version) throws MappingException
      Description copied from interface: UnsavedValueStrategy
      Make the transient/detached determination
      Specified by:
      isUnsaved in interface UnsavedValueStrategy
      Parameters:
      version - The value to be tested
      Returns:
      true indicates the value corresponds to unsaved data (aka, transient state); false indicates the value does not corresponds to unsaved data (aka, detached state); null indicates that this strategy was not able to determine conclusively.
      Throws:
      MappingException
    • getDefaultValue

      public @Nullable Object getDefaultValue(@Nullable Object currentValue)
      Description copied from interface: UnsavedValueStrategy
      Get a default value meant to indicate transience.
      Specified by:
      getDefaultValue in interface UnsavedValueStrategy
      Parameters:
      currentValue - The current state value.
      Returns:
      The default transience value.
    • toString

      public String toString()
      Overrides:
      toString in class Object