Thrown by the persistence provider when an entity reference obtained by
EntityManager.getReference
is accessed but the entity does not exist. Thrown when
EntityManager.refresh is called and the
object no longer exists in the database.
Thrown when EntityManager.lock is used with
pessimistic locking is used and the entity no longer exists in the database.

The current transaction, if one is active, will be marked for rollback.