diff --git a/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java b/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java index a37ec581e42c..72d39bd07516 100644 --- a/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java @@ -624,13 +624,13 @@ public void lock(Object object, LockMode lockMode, LockOption... lockOptions) { private void fireLock(final LockEvent lockEvent) { checkOpen(); - checkEntityManaged( lockEvent.getEntityName(), lockEvent.getObject() ); try { pulseTransactionCoordinator(); checkTransactionNeededForLock( lockEvent.getLockMode() ); eventListenerGroups.eventListenerGroup_LOCK .fireEventOnEachListener( lockEvent, LockEventListener::onLock ); + checkEntityManaged( lockEvent.getEntityName(), lockEvent.getObject() ); } catch ( RuntimeException e ) { convertIfJpaBootstrap( e, lockEvent.getLockOptions() );