HHH-15651 Logging guard improvements in StatefulPersistenceContext

This commit is contained in:
Sanne Grinovero 2022-11-01 16:42:21 +00:00 committed by Sanne Grinovero
parent bedbd402e6
commit 001de2b203
1 changed files with 16 additions and 9 deletions

View File

@ -1376,7 +1376,10 @@ public class StatefulPersistenceContext implements PersistenceContext {
final EntityPersister persister = metamodel.getEntityDescriptor( entity ); final EntityPersister persister = metamodel.getEntityDescriptor( entity );
final CollectionPersister cp = metamodel.getCollectionDescriptor( entity + '.' + property ); final CollectionPersister cp = metamodel.getCollectionDescriptor( entity + '.' + property );
// try cache lookup first //Extracted as we're logging within two hot loops
final boolean debugEnabled = LOG.isDebugEnabled();
// try cache lookup first
final Object parent = getParentsByChild( childEntity ); final Object parent = getParentsByChild( childEntity );
if ( parent != null ) { if ( parent != null ) {
final EntityEntry entityEntry = entityEntryContext.getEntityEntry( parent ); final EntityEntry entityEntry = entityEntryContext.getEntityEntry( parent );
@ -1389,10 +1392,12 @@ public class StatefulPersistenceContext implements PersistenceContext {
final Object unMergedChild = mergeMap.get( childEntity ); final Object unMergedChild = mergeMap.get( childEntity );
if ( unMergedInstance != null && unMergedChild != null ) { if ( unMergedInstance != null && unMergedChild != null ) {
index = getIndexInParent( property, unMergedChild, persister, cp, unMergedInstance ); index = getIndexInParent( property, unMergedChild, persister, cp, unMergedInstance );
LOG.debugf( if ( debugEnabled ) {
"A detached object being merged (corresponding to a parent in parentsByChild) has an indexed collection that [%s] the detached child being merged. ", LOG.debugf(
( index != null ? "contains" : "does not contain" ) "A detached object being merged (corresponding to a parent in parentsByChild) has an indexed collection that [%s] the detached child being merged. ",
); ( index != null ? "contains" : "does not contain" )
);
}
} }
} }
if ( index != null ) { if ( index != null ) {
@ -1417,10 +1422,12 @@ public class StatefulPersistenceContext implements PersistenceContext {
final Object unMergedChild = mergeMap.get( childEntity ); final Object unMergedChild = mergeMap.get( childEntity );
if ( unMergedInstance != null && unMergedChild!=null ) { if ( unMergedInstance != null && unMergedChild!=null ) {
index = getIndexInParent( property, unMergedChild, persister, cp, unMergedInstance ); index = getIndexInParent( property, unMergedChild, persister, cp, unMergedInstance );
LOG.debugf( if ( debugEnabled ) {
"A detached object being merged (corresponding to a managed entity) has an indexed collection that [%s] the detached child being merged. ", LOG.debugf(
(index != null ? "contains" : "does not contain" ) "A detached object being merged (corresponding to a managed entity) has an indexed collection that [%s] the detached child being merged. ",
); (index != null ? "contains" : "does not contain" )
);
}
} }
} }