HHH-13640 : Correct DefaultLoadEventListener#proxyOrLoad to work properly enhancement but no HibernateProxy factory

This commit is contained in:
Gail Badner 2019-10-14 23:29:47 -07:00
parent 8ce4d36787
commit 57befd1a08
1 changed files with 10 additions and 7 deletions

View File

@ -319,7 +319,7 @@ public class DefaultLoadEventListener extends AbstractLockUpgradeEventListener i
return createProxy( event, persister, keyToLoad, persistenceContext );
}
}
if ( !entityMetamodel.hasSubclasses() ) {
if ( keyToLoad.isBatchLoadable() ) {
// Add a batch-fetch entry into the queue for this entity
persistenceContext.getBatchFetchQueue().addBatchLoadableEntityKey( keyToLoad );
@ -329,6 +329,9 @@ public class DefaultLoadEventListener extends AbstractLockUpgradeEventListener i
// create the (uninitialized) entity instance - has only id set
return persister.getBytecodeEnhancementMetadata().createEnhancedProxy( keyToLoad, true, session );
}
// If we get here, then the entity class has subclasses and there is no HibernateProxy factory.
// The entity will get loaded below.
}
else {
if ( persister.hasProxy() ) {
// look for a proxy