Skip to content

Commit 1a6fb91

Browse files
committed
clean up usages of BytecodeEnhancementMetadata
1 parent 8d5d589 commit 1a6fb91

File tree

9 files changed

+49
-43
lines changed

9 files changed

+49
-43
lines changed

hibernate-core/src/main/java/org/hibernate/event/internal/DefaultDeleteEventListener.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.hibernate.action.internal.EntityDeleteAction;
1414
import org.hibernate.action.internal.OrphanRemovalAction;
1515
import org.hibernate.bytecode.enhance.spi.LazyPropertyInitializer;
16-
import org.hibernate.bytecode.spi.BytecodeEnhancementMetadata;
1716
import org.hibernate.engine.internal.Cascade;
1817
import org.hibernate.engine.internal.CascadePoint;
1918
import org.hibernate.engine.internal.ForeignKeys;
@@ -36,7 +35,6 @@
3635
import org.hibernate.jpa.event.spi.CallbackRegistry;
3736
import org.hibernate.jpa.event.spi.CallbackRegistryConsumer;
3837
import org.hibernate.jpa.event.spi.CallbackType;
39-
import org.hibernate.metamodel.spi.MappingMetamodelImplementor;
4038
import org.hibernate.persister.collection.CollectionPersister;
4139
import org.hibernate.persister.entity.EntityPersister;
4240
import org.hibernate.property.access.internal.PropertyAccessStrategyBackRefImpl;
@@ -461,8 +459,8 @@ private Object[] createDeletedState(
461459
}
462460

463461
final String[] propertyNames = persister.getPropertyNames();
464-
final BytecodeEnhancementMetadata enhancementMetadata = persister.getBytecodeEnhancementMetadata();
465-
final MappingMetamodelImplementor metamodel = persister.getFactory().getMappingMetamodel();
462+
final var enhancementMetadata = persister.getBytecodeEnhancementMetadata();
463+
final var metamodel = persister.getFactory().getMappingMetamodel();
466464
for ( int i = 0; i < types.length; i++) {
467465
if ( types[i] instanceof CollectionType collectionType
468466
&& !enhancementMetadata.isAttributeLoaded( parent, propertyNames[i] ) ) {

hibernate-core/src/main/java/org/hibernate/event/internal/DefaultLoadEventListener.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,11 +329,13 @@ private static PersistentAttributeInterceptable createBatchLoadableEnhancedProxy
329329
EventSource session) {
330330
if ( keyToLoad.isBatchLoadable( session.getLoadQueryInfluencers() ) ) {
331331
// Add a batch-fetch entry into the queue for this entity
332-
session.getPersistenceContextInternal().getBatchFetchQueue().addBatchLoadableEntityKey( keyToLoad );
332+
session.getPersistenceContextInternal().getBatchFetchQueue()
333+
.addBatchLoadableEntityKey( keyToLoad );
333334
}
334335
// This is the crux of HHH-11147
335336
// create the (uninitialized) entity instance - has only id set
336-
return persister.getBytecodeEnhancementMetadata().createEnhancedProxy( keyToLoad, true, session );
337+
return persister.getBytecodeEnhancementMetadata()
338+
.createEnhancedProxy( keyToLoad, true, session );
337339
}
338340

339341
private static Object proxyOrCached(LoadEvent event, EntityPersister persister, EntityKey keyToLoad) {

hibernate-core/src/main/java/org/hibernate/event/internal/DefaultRefreshEventListener.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
import org.hibernate.NonUniqueObjectException;
1111
import org.hibernate.TransientObjectException;
1212
import org.hibernate.UnresolvableObjectException;
13-
import org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor;
14-
import org.hibernate.bytecode.spi.BytecodeEnhancementMetadata;
1513
import org.hibernate.cache.spi.access.CollectionDataAccess;
1614
import org.hibernate.cache.spi.access.EntityDataAccess;
1715
import org.hibernate.cache.spi.access.SoftLock;
@@ -185,12 +183,14 @@ private static void refresh(
185183
EntityEntry entry,
186184
Object id,
187185
PersistenceContext persistenceContext) {
188-
final BytecodeEnhancementMetadata instrumentationMetadata = persister.getInstrumentationMetadata();
189-
if ( object != null && instrumentationMetadata.isEnhancedForLazyLoading() ) {
190-
final LazyAttributeLoadingInterceptor interceptor = instrumentationMetadata.extractInterceptor( object );
191-
if ( interceptor != null ) {
192-
// The list of initialized lazy fields have to be cleared in order to refresh them from the database.
193-
interceptor.clearInitializedLazyFields();
186+
if ( object != null ) {
187+
final var instrumentationMetadata = persister.getBytecodeEnhancementMetadata();
188+
if ( instrumentationMetadata.isEnhancedForLazyLoading() ) {
189+
final var interceptor = instrumentationMetadata.extractInterceptor( object );
190+
if ( interceptor != null ) {
191+
// The list of initialized lazy fields have to be cleared in order to refresh them from the database.
192+
interceptor.clearInitializedLazyFields();
193+
}
194194
}
195195
}
196196

hibernate-core/src/main/java/org/hibernate/metamodel/internal/EntityRepresentationStrategyPojoStandard.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,9 @@ private ProxyFactory resolveProxyFactory(
154154
BytecodeProvider bytecodeProvider,
155155
RuntimeModelCreationContext creationContext) {
156156
final EntityMetamodel entityMetamodel = entityPersister.getEntityMetamodel();
157-
final boolean enhancedForLazyLoading = entityPersister.getBytecodeEnhancementMetadata().isEnhancedForLazyLoading();
157+
final boolean enhancedForLazyLoading =
158+
entityPersister.getBytecodeEnhancementMetadata()
159+
.isEnhancedForLazyLoading();
158160

159161
// todo : `@ConcreteProxy` handling
160162
if ( enhancedForLazyLoading

hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/ToOneAttributeMapping.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,9 +256,9 @@ public ToOneAttributeMapping(
256256
this.sqlAliasStem = SqlAliasStemHelper.INSTANCE.generateStemFromAttributeName( name );
257257
this.isNullable = bootValue.isNullable();
258258
this.isLazy = navigableRole.getParent().getParent() == null
259-
&& declaringEntityPersister.getBytecodeEnhancementMetadata()
260-
.getLazyAttributesMetadata()
261-
.isLazyAttribute( name );
259+
&& declaringEntityPersister.getBytecodeEnhancementMetadata()
260+
.getLazyAttributesMetadata()
261+
.isLazyAttribute( name );
262262
this.referencedPropertyName = bootValue.getReferencedPropertyName();
263263
this.unwrapProxy = bootValue.isUnwrapProxy();
264264
this.entityMappingType = entityMappingType;

hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1184,7 +1184,7 @@ else if ( associationType instanceof ManyToOneType manyToOneType
11841184
}
11851185

11861186
protected Map<String, SingleIdArrayLoadPlan> getLazyLoadPlanByFetchGroup() {
1187-
final BytecodeEnhancementMetadata metadata = entityMetamodel.getBytecodeEnhancementMetadata();
1187+
final var metadata = getBytecodeEnhancementMetadata();
11881188
return metadata.isEnhancedForLazyLoading() && metadata.getLazyAttributesMetadata().hasLazyAttributes()
11891189
? createLazyLoadPlanByFetchGroup( metadata )
11901190
: emptyMap();
@@ -1585,7 +1585,7 @@ protected Object initializeLazyPropertiesFromDatastore(
15851585
LOG.tracef( "Initializing lazy properties from datastore (triggered for `%s`)", fieldName );
15861586

15871587
final LazyAttributesMetadata lazyAttributesMetadata =
1588-
getEntityMetamodel().getBytecodeEnhancementMetadata().getLazyAttributesMetadata();
1588+
getBytecodeEnhancementMetadata().getLazyAttributesMetadata();
15891589
final String fetchGroup = lazyAttributesMetadata.getFetchGroupName( fieldName );
15901590
final List<LazyAttributeDescriptor> fetchGroupAttributeDescriptors =
15911591
lazyAttributesMetadata.getFetchGroupAttributeDescriptors( fetchGroup );
@@ -3491,9 +3491,9 @@ public Object initializeEnhancedEntityUsedAsProxy(
34913491
Object entity,
34923492
String nameOfAttributeBeingAccessed,
34933493
SharedSessionContractImplementor session) {
3494-
final BytecodeEnhancementMetadata enhancementMetadata = getEntityMetamodel().getBytecodeEnhancementMetadata();
3495-
final BytecodeLazyAttributeInterceptor currentInterceptor = enhancementMetadata.extractLazyInterceptor( entity );
3496-
if ( currentInterceptor instanceof EnhancementAsProxyLazinessInterceptor proxyInterceptor ) {
3494+
final var enhancementMetadata = getBytecodeEnhancementMetadata();
3495+
if ( enhancementMetadata.extractLazyInterceptor( entity )
3496+
instanceof EnhancementAsProxyLazinessInterceptor proxyInterceptor ) {
34973497

34983498
final EntityKey entityKey = proxyInterceptor.getEntityKey();
34993499
final Object identifier = entityKey.getIdentifier();
@@ -3795,7 +3795,7 @@ public boolean hasLazyProperties() {
37953795

37963796
@Override
37973797
public void afterReassociate(Object entity, SharedSessionContractImplementor session) {
3798-
final BytecodeEnhancementMetadata metadata = getEntityMetamodel().getBytecodeEnhancementMetadata();
3798+
final var metadata = getBytecodeEnhancementMetadata();
37993799
if ( metadata.isEnhancedForLazyLoading() ) {
38003800
final BytecodeLazyAttributeInterceptor interceptor = metadata.extractLazyInterceptor( entity );
38013801
if ( interceptor == null ) {
@@ -3928,7 +3928,7 @@ public boolean hasSubclasses() {
39283928
public boolean hasProxy() {
39293929
// skip proxy instantiation if entity is bytecode enhanced
39303930
return entityMetamodel.isLazy()
3931-
&& !entityMetamodel.getBytecodeEnhancementMetadata().isEnhancedForLazyLoading();
3931+
&& !getBytecodeEnhancementMetadata().isEnhancedForLazyLoading();
39323932
}
39333933

39343934
@Override @Deprecated
@@ -4019,7 +4019,7 @@ public String toString() {
40194019

40204020
@Override
40214021
public boolean isInstrumented() {
4022-
return entityMetamodel.getBytecodeEnhancementMetadata().isEnhancedForLazyLoading();
4022+
return getBytecodeEnhancementMetadata().isEnhancedForLazyLoading();
40234023
}
40244024

40254025
@Override
@@ -4060,8 +4060,8 @@ public boolean isVersionGeneratedBeforeExecution() {
40604060
public void afterInitialize(Object entity, SharedSessionContractImplementor session) {
40614061
if ( isPersistentAttributeInterceptable( entity )
40624062
&& getRepresentationStrategy().getMode() == POJO ) {
4063-
final BytecodeLazyAttributeInterceptor interceptor =
4064-
getEntityMetamodel().getBytecodeEnhancementMetadata()
4063+
final var interceptor =
4064+
getBytecodeEnhancementMetadata()
40654065
.extractLazyInterceptor( entity );
40664066
assert interceptor != null;
40674067
if ( interceptor.getLinkedSession() == null ) {
@@ -4142,9 +4142,8 @@ public void setPropertyValues(Object object, Object[] values) {
41424142
accessOptimizer.setPropertyValues( object, values );
41434143
}
41444144
else {
4145-
final BytecodeEnhancementMetadata enhancementMetadata = entityMetamodel.getBytecodeEnhancementMetadata();
41464145
final AttributeMappingsList attributeMappings = getAttributeMappings();
4147-
if ( enhancementMetadata.isEnhancedForLazyLoading() ) {
4146+
if ( getBytecodeEnhancementMetadata().isEnhancedForLazyLoading() ) {
41484147
for ( int i = 0; i < attributeMappings.size(); i++ ) {
41494148
final Object value = values[i];
41504149
if ( value != UNFETCHED_PROPERTY ) {
@@ -4171,11 +4170,11 @@ public Object[] getPropertyValues(Object object) {
41714170
return accessOptimizer.getPropertyValues( object );
41724171
}
41734172
else {
4174-
final BytecodeEnhancementMetadata enhancementMetadata = entityMetamodel.getBytecodeEnhancementMetadata();
4173+
final var enhancementMetadata = getBytecodeEnhancementMetadata();
41754174
final AttributeMappingsList attributeMappings = getAttributeMappings();
41764175
final Object[] values = new Object[attributeMappings.size()];
41774176
if ( enhancementMetadata.isEnhancedForLazyLoading() ) {
4178-
final LazyAttributesMetadata lazyAttributesMetadata = enhancementMetadata.getLazyAttributesMetadata();
4177+
final var lazyAttributesMetadata = enhancementMetadata.getLazyAttributesMetadata();
41794178
for ( int i = 0; i < attributeMappings.size(); i++ ) {
41804179
final AttributeMapping attributeMapping = attributeMappings.get( i );
41814180
if ( !lazyAttributesMetadata.isLazyAttribute( attributeMapping.getAttributeName() )
@@ -4288,8 +4287,8 @@ protected void linkToSession(Object entity, SharedSessionContractImplementor ses
42884287
}
42894288

42904289
private void setSession(PersistentAttributeInterceptable entity, SharedSessionContractImplementor session) {
4291-
final BytecodeLazyAttributeInterceptor interceptor =
4292-
entityMetamodel.getBytecodeEnhancementMetadata()
4290+
final var interceptor =
4291+
getBytecodeEnhancementMetadata()
42934292
.extractLazyInterceptor( entity );
42944293
if ( interceptor != null ) {
42954294
interceptor.setSession( session );
@@ -4303,7 +4302,7 @@ public boolean isInstance(Object object) {
43034302

43044303
@Override
43054304
public boolean hasUninitializedLazyProperties(Object object) {
4306-
return entityMetamodel.getBytecodeEnhancementMetadata().hasUnFetchedAttributes( object );
4305+
return getBytecodeEnhancementMetadata().hasUnFetchedAttributes( object );
43074306
}
43084307

43094308
@Override
@@ -4369,7 +4368,7 @@ public Object[] getPropertyValuesToInsert(
43694368
}
43704369

43714370
protected boolean shouldGetAllProperties(Object entity) {
4372-
final BytecodeEnhancementMetadata metadata = getEntityMetamodel().getBytecodeEnhancementMetadata();
4371+
final var metadata = getBytecodeEnhancementMetadata();
43734372
return !metadata.isEnhancedForLazyLoading()
43744373
|| !metadata.hasUnFetchedAttributes( entity );
43754374
}
@@ -4542,13 +4541,13 @@ public EntityRepresentationStrategy getRepresentationStrategy() {
45424541
return representationStrategy;
45434542
}
45444543

4545-
@Override
4544+
@Override @Deprecated(forRemoval = true)
45464545
public BytecodeEnhancementMetadata getInstrumentationMetadata() {
45474546
return getBytecodeEnhancementMetadata();
45484547
}
45494548

45504549
@Override
4551-
public BytecodeEnhancementMetadata getBytecodeEnhancementMetadata() {
4550+
public final BytecodeEnhancementMetadata getBytecodeEnhancementMetadata() {
45524551
return entityMetamodel.getBytecodeEnhancementMetadata();
45534552
}
45544553

hibernate-core/src/main/java/org/hibernate/persister/entity/EntityPersister.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1297,7 +1297,13 @@ default void addToCacheKey(
12971297
getIdentifierMapping().addToCacheKey( cacheKey, getIdentifier( value, session ), session );
12981298
}
12991299

1300-
BytecodeEnhancementMetadata getInstrumentationMetadata();
1300+
/**
1301+
* @deprecated Use {@link #getBytecodeEnhancementMetadata()}
1302+
*/
1303+
@Deprecated(since = "7", forRemoval = true)
1304+
default BytecodeEnhancementMetadata getInstrumentationMetadata() {
1305+
throw new UnsupportedOperationException();
1306+
}
13011307

13021308
default BytecodeEnhancementMetadata getBytecodeEnhancementMetadata() {
13031309
return getInstrumentationMetadata();

hibernate-core/src/test/java/org/hibernate/orm/test/bytecode/enhancement/lazy/proxy/FetchGraphTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -519,10 +519,9 @@ public void testAbstractClassAssociation(SessionFactoryScope scope) {
519519
final StatisticsImplementor stats = scope.getSessionFactory().getStatistics();
520520
stats.clear();
521521

522-
assert scope.getSessionFactory().getRuntimeMetamodels()
523-
.getMappingMetamodel()
522+
assert scope.getSessionFactory().getMappingMetamodel()
524523
.getEntityDescriptor( RoleEntity.class )
525-
.getInstrumentationMetadata()
524+
.getBytecodeEnhancementMetadata()
526525
.isEnhancedForLazyLoading();
527526

528527
scope.inTransaction(

hibernate-envers/src/main/java/org/hibernate/envers/event/spi/EnversPostUpdateEventListenerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ private Object[] postUpdateDBState(PostUpdateEvent event) {
7575
if ( event.getOldState() != null ) {
7676
final EntityPersister entityPersister = event.getPersister();
7777
final Object entity = event.getEntity();
78-
final BytecodeEnhancementMetadata instrumentationMetadata = entityPersister.getInstrumentationMetadata();
78+
final BytecodeEnhancementMetadata instrumentationMetadata = entityPersister.getBytecodeEnhancementMetadata();
7979
final LazyAttributeLoadingInterceptor lazyAttributeLoadingInterceptor;
8080
if ( instrumentationMetadata.isEnhancedForLazyLoading() ) {
8181
lazyAttributeLoadingInterceptor = instrumentationMetadata.extractInterceptor( entity );

0 commit comments

Comments
 (0)