: the PessimisticLockException will be thrown if the database locking failure causes transaction-level rollback the LockTimeoutException will be thrown if the database locking failure causes only statement-level rollback ... will be thrown if the database locking failure causes transaction-level rollback

and there is a high likelihood of deadlock or update failure among concurrent updating transactions. The persistence ... cannot be obtained, and the database locking failure results in transaction-level rollback, the provider must throw ... has been marked for rollback. When the lock cannot be obtained, and the database locking failure results in