Annotation Interface 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:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The optimistic lock checking strategy.
  • Element Details