Class OptimisticLockException

All Implemented Interfaces:
Serializable

public class OptimisticLockException extends PersistenceException
Thrown by the persistence provider when an optimistic locking conflict occurs. This exception may be thrown by an API call, during flush, or when the transaction commits.

An OptimisticLockException must be thrown by the persistence provider when:

  • The version of an entity in the persistence context does not match the version held in the database when the entity is written or deleted.
  • A detached entity passed to EntityManager.merge(T) holds a stale revision of the state of the entity.
  • An optimistic version check performed while obtaining a pessimistic lock on a versioned entity fails.
  • An EntityAgent.update(Object) or EntityAgent.delete(Object) operation is called for an entity with no matching row in the database, or an optimistic version check performed by the operation fails.
  • An EntityAgent.upsert(Object) operation fails an optimistic version check.

If an OptimisticLockException is thrown by an EntityManager with a persistence context joined to an active transaction, the transaction is automatically marked for rollback when the exception is thrown.

Since:
1.0
See Also:
  • Constructor Details

    • OptimisticLockException

      public OptimisticLockException()
      Constructs a new OptimisticLockException exception with null as its detail message.
    • OptimisticLockException

      public OptimisticLockException(String message)
      Constructs a new OptimisticLockException exception with the specified detail message.
      Parameters:
      message - the detail message.
    • OptimisticLockException

      public OptimisticLockException(String message, Throwable cause)
      Constructs a new OptimisticLockException exception with the specified detail message and cause.
      Parameters:
      message - the detail message.
      cause - the cause.
    • OptimisticLockException

      public OptimisticLockException(Throwable cause)
      Constructs a new OptimisticLockException exception with the specified cause.
      Parameters:
      cause - the cause.
    • OptimisticLockException

      public OptimisticLockException(Object entity)
      Constructs a new OptimisticLockException exception with the specified entity.
      Parameters:
      entity - the entity.
    • OptimisticLockException

      public OptimisticLockException(String message, Throwable cause, Object entity)
      Constructs a new OptimisticLockException exception with the specified detail message, cause, and entity.
      Parameters:
      message - the detail message.
      cause - the cause.
      entity - the entity.
  • Method Details

    • getEntity

      public Object getEntity()
      Returns the entity that caused this exception.
      Returns:
      the entity.