diff --git a/hibernate-core/src/main/java/org/hibernate/engine/internal/AbstractEntityEntry.java b/hibernate-core/src/main/java/org/hibernate/engine/internal/AbstractEntityEntry.java index 2d8c38649271..54959ab28457 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/internal/AbstractEntityEntry.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/internal/AbstractEntityEntry.java @@ -368,8 +368,6 @@ private boolean isNonDirtyViaCustomStrategy(Object entity) { asPersistentAttributeInterceptable( entity ).$$_hibernate_getInterceptor(); if ( interceptor instanceof EnhancementAsProxyLazinessInterceptor ) { // we never have to check an uninitialized proxy - // TODO: why do we not check !lazinessInterceptor.hasWrittenFieldNames() - // as we do below in isNonDirtyViaTracker() ? return true; } } diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java index f578c97e4dd8..fc035fdab0e0 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/SimpleForeignKeyDescriptor.java @@ -62,6 +62,8 @@ import org.hibernate.type.descriptor.java.JavaType; import static org.hibernate.engine.internal.ManagedTypeHelper.asPersistentAttributeInterceptable; +import static org.hibernate.engine.internal.ManagedTypeHelper.isPersistentAttributeInterceptable; +import static org.hibernate.proxy.HibernateProxy.extractLazyInitializer; /** * @author Steve Ebersole @@ -496,7 +498,7 @@ public Object getAssociationKeyFromSide( if ( targetObject == null ) { return null; } - final LazyInitializer lazyInitializer = HibernateProxy.extractLazyInitializer( targetObject ); + final LazyInitializer lazyInitializer = extractLazyInitializer( targetObject ); if ( lazyInitializer != null ) { if ( refersToPrimaryKey ) { return lazyInitializer.getIdentifier(); @@ -510,10 +512,11 @@ public Object getAssociationKeyFromSide( return ( (EntityIdentifierMapping) modelPart ).getIdentifierIfNotUnsaved( targetObject, session ); } - if ( lazyInitializer == null && ManagedTypeHelper.isPersistentAttributeInterceptable( targetObject ) ) { + if ( lazyInitializer == null && isPersistentAttributeInterceptable( targetObject ) ) { final PersistentAttributeInterceptor interceptor = asPersistentAttributeInterceptable( targetObject ).$$_hibernate_getInterceptor(); - if ( interceptor instanceof EnhancementAsProxyLazinessInterceptor && !( (EnhancementAsProxyLazinessInterceptor) interceptor ).isInitialized() ) { + if ( interceptor instanceof EnhancementAsProxyLazinessInterceptor lazinessInterceptor + && !lazinessInterceptor.isInitialized() ) { Hibernate.initialize( targetObject ); } }