Annotation Type OptimisticLocking


  • @Target(TYPE)
    @Retention(RUNTIME)
    public @interface OptimisticLocking
    Specifies how optimistic lock checking works for the annotated entity.

    Optimistic lock checking may detect that an optimistic lock has failed, and that the transaction should be aborted, by comparing either:

    An optimistic lock is usually checked by including a restriction in a SQL update or delete statement. If the database reports that zero rows were updated, it is inferred that another transaction has already updated or deleted the row, and the failure of the optimistic lock is reported via an OptimisticLockException.

    In an inheritance hierarchy, this annotation may only be applied to the root entity, since the optimistic lock checking strategy is inherited by entity subclasses.

    To exclude a particular attribute from optimistic locking, annotate the attribute @OptimisticLock(excluded=true). Then:

    See Also:
    LockMode, LockModeType
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      OptimisticLockType type
      The optimistic lock checking strategy.
    • Element Detail

      • type

        OptimisticLockType type
        The optimistic lock checking strategy.
        Default:
        org.hibernate.annotations.OptimisticLockType.VERSION