diff --git a/hibernate-core/src/main/java/org/hibernate/action/internal/EntityDeleteAction.java b/hibernate-core/src/main/java/org/hibernate/action/internal/EntityDeleteAction.java index f83a61c42e..425ac42f90 100644 --- a/hibernate-core/src/main/java/org/hibernate/action/internal/EntityDeleteAction.java +++ b/hibernate-core/src/main/java/org/hibernate/action/internal/EntityDeleteAction.java @@ -145,7 +145,7 @@ public void execute() throws HibernateException { } } - private Object getCurrentVersion() { + protected Object getCurrentVersion() { return getPersister().isVersionPropertyGenerated() // skip if we're deleting an unloaded proxy, no need for the version && isInstanceLoaded() @@ -156,7 +156,7 @@ && isInstanceLoaded() : version; } - private void postDeleteLoaded( + protected void postDeleteLoaded( Object id, EntityPersister persister, SharedSessionContractImplementor session, @@ -171,7 +171,7 @@ private void postDeleteLoaded( throw new AssertionFailure( "possible non-threadsafe access to session" ); } entry.postDelete(); - EntityKey key = entry.getEntityKey(); + final EntityKey key = entry.getEntityKey(); persistenceContext.removeEntity( key ); persistenceContext.removeProxy( key ); removeCacheItem( ck ); @@ -179,9 +179,9 @@ private void postDeleteLoaded( postDelete(); } - private void postDeleteUnloaded(Object id, EntityPersister persister, SharedSessionContractImplementor session, Object ck) { + protected void postDeleteUnloaded(Object id, EntityPersister persister, SharedSessionContractImplementor session, Object ck) { final PersistenceContext persistenceContext = session.getPersistenceContextInternal(); - EntityKey key = session.generateEntityKey( id, persister ); + final EntityKey key = session.generateEntityKey( id, persister ); if ( !persistenceContext.containsDeletedUnloadedEntityKey( key ) ) { throw new AssertionFailure( "deleted proxy should be for an unloaded entity: " + key ); } @@ -257,12 +257,17 @@ protected boolean hasPostCommitEventListeners() { return false; } - private Object lockCacheItem() { + protected Object lockCacheItem() { final EntityPersister persister = getPersister(); if ( persister.canWriteToCache() ) { final EntityDataAccess cache = persister.getCacheAccessStrategy(); final SharedSessionContractImplementor session = getSession(); - Object ck = cache.generateCacheKey( getId(), persister, session.getFactory(), session.getTenantIdentifier() ); + final Object ck = cache.generateCacheKey( + getId(), + persister, + session.getFactory(), + session.getTenantIdentifier() + ); lock = cache.lockItem( session, ck, getCurrentVersion() ); return ck; } @@ -271,7 +276,7 @@ private Object lockCacheItem() { } } - private void unlockCacheItem() { + protected void unlockCacheItem() { final EntityPersister persister = getPersister(); if ( persister.canWriteToCache() ) { final EntityDataAccess cache = persister.getCacheAccessStrategy(); @@ -286,7 +291,7 @@ private void unlockCacheItem() { } } - private void removeCacheItem(Object ck) { + protected void removeCacheItem(Object ck) { final EntityPersister persister = getPersister(); if ( persister.canWriteToCache() ) { persister.getCacheAccessStrategy().remove( getSession(), ck );