Jakarta Persistence (JPA) Method
void refresh(
Object entity,
LockModeType lockMode
)
Refresh the state of the given managed entity instance from the database, overwriting unflushed changes made to the entity, if any, and obtain the given lock mode. This operation cascades to every entity related by an association marked
cascade=REFRESH. If the lock mode type is pessimistic and the entity instance is found but cannot be locked:
- the
PessimisticLockExceptionis thrown if the database locking failure causes transaction-level rollback - the
LockTimeoutExceptionis thrown if the database locking failure causes only statement-level rollback.
- Parameters:
lockMode- lock modeentity- a managed entity instance
- Throws:
- if pessimistic locking fails and the transaction is rolled back.PessimisticLockException- if pessimistic locking fails and only the statement is rolled back.LockTimeoutException- if the entity no longer exists in the database.EntityNotFoundException- if the instance is not an entity or if the entity is not managed.IllegalArgumentException- if an unsupported lock call is made.PersistenceException- if invoked on a container-managed entity manager of typeTransactionRequiredExceptionPersistenceContextType.TRANSACTIONwhen there is no transaction; if invoked on an extended entity manager when there is no transaction and a lock mode other thanLockModeType.NONEwas specified; or if invoked on an extended entity manager that has not been joined to the current transaction and any lock mode other thanNONEwas specified.
- Since:
- Jakarta Persistence (JPA) 2.0