Skip to content

Commit e852987

Browse files
committed
[#2640] Override EntityMetamodel#getBytecodeEnhancementMetadataPojo
HIbernate ORM 7.2 now calls this method when it needs to enable bytecode enhancements
1 parent 3f075a4 commit e852987

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveJoinedSubclassEntityPersister.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
package org.hibernate.reactive.persister.entity.impl;
77

88
import java.util.List;
9+
import java.util.Set;
910
import java.util.concurrent.CompletionStage;
1011

1112
import org.hibernate.FetchMode;
1213
import org.hibernate.HibernateException;
1314
import org.hibernate.LockMode;
1415
import org.hibernate.LockOptions;
16+
import org.hibernate.bytecode.spi.BytecodeEnhancementMetadata;
1517
import org.hibernate.cache.spi.access.EntityDataAccess;
1618
import org.hibernate.cache.spi.access.NaturalIdDataAccess;
1719
import org.hibernate.engine.spi.CascadeStyle;
@@ -40,6 +42,7 @@
4042
import org.hibernate.persister.entity.mutation.InsertCoordinator;
4143
import org.hibernate.persister.entity.mutation.UpdateCoordinator;
4244
import org.hibernate.property.access.spi.PropertyAccess;
45+
import org.hibernate.reactive.bythecode.spi.ReactiveBytecodeEnhancementMetadataPojoImplAdapter;
4346
import org.hibernate.reactive.loader.ast.internal.ReactiveSingleIdArrayLoadPlan;
4447
import org.hibernate.reactive.loader.ast.spi.ReactiveSingleUniqueKeyEntityLoader;
4548
import org.hibernate.reactive.logging.impl.Log;
@@ -52,6 +55,7 @@
5255
import org.hibernate.sql.ast.tree.from.TableGroup;
5356
import org.hibernate.sql.results.graph.DomainResult;
5457
import org.hibernate.sql.results.graph.DomainResultCreationState;
58+
import org.hibernate.type.CompositeType;
5559
import org.hibernate.type.EntityType;
5660

5761
import static java.lang.invoke.MethodHandles.lookup;
@@ -77,6 +81,17 @@ public ReactiveJoinedSubclassEntityPersister(
7781
reactiveDelegate = new ReactiveAbstractPersisterDelegate( this, persistentClass, new ReactiveRuntimeModelCreationContext( creationContext ) );
7882
}
7983

84+
@Override
85+
protected BytecodeEnhancementMetadata getBytecodeEnhancementMetadataPojo(
86+
PersistentClass persistentClass,
87+
RuntimeModelCreationContext creationContext,
88+
Set<String> idAttributeNames,
89+
CompositeType nonAggregatedCidMapper,
90+
boolean collectionsInDefaultFetchGroupEnabled) {
91+
return ReactiveBytecodeEnhancementMetadataPojoImplAdapter
92+
.from( persistentClass, idAttributeNames, nonAggregatedCidMapper, collectionsInDefaultFetchGroupEnabled, creationContext.getMetadata() );
93+
}
94+
8095
@Override
8196
protected SingleIdEntityLoader<?> buildSingleIdEntityLoader() {
8297
return reactiveDelegate.buildSingleIdEntityLoader();

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveSingleTableEntityPersister.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
package org.hibernate.reactive.persister.entity.impl;
77

88
import java.util.List;
9+
import java.util.Set;
910
import java.util.concurrent.CompletionStage;
1011
import java.util.function.Supplier;
1112

1213
import org.hibernate.FetchMode;
1314
import org.hibernate.HibernateException;
1415
import org.hibernate.LockMode;
1516
import org.hibernate.LockOptions;
17+
import org.hibernate.bytecode.spi.BytecodeEnhancementMetadata;
1618
import org.hibernate.cache.spi.access.EntityDataAccess;
1719
import org.hibernate.cache.spi.access.NaturalIdDataAccess;
1820
import org.hibernate.engine.spi.CascadeStyle;
@@ -42,6 +44,7 @@
4244
import org.hibernate.persister.entity.mutation.InsertCoordinator;
4345
import org.hibernate.persister.entity.mutation.UpdateCoordinator;
4446
import org.hibernate.property.access.spi.PropertyAccess;
47+
import org.hibernate.reactive.bythecode.spi.ReactiveBytecodeEnhancementMetadataPojoImplAdapter;
4548
import org.hibernate.reactive.loader.ast.internal.ReactiveSingleIdArrayLoadPlan;
4649
import org.hibernate.reactive.loader.ast.spi.ReactiveSingleUniqueKeyEntityLoader;
4750
import org.hibernate.reactive.logging.impl.Log;
@@ -54,6 +57,7 @@
5457
import org.hibernate.sql.ast.tree.from.TableGroup;
5558
import org.hibernate.sql.results.graph.DomainResult;
5659
import org.hibernate.sql.results.graph.DomainResultCreationState;
60+
import org.hibernate.type.CompositeType;
5761
import org.hibernate.type.EntityType;
5862

5963
import static java.lang.invoke.MethodHandles.lookup;
@@ -79,6 +83,17 @@ public ReactiveSingleTableEntityPersister(
7983
reactiveDelegate = new ReactiveAbstractPersisterDelegate( this, persistentClass, new ReactiveRuntimeModelCreationContext( creationContext ) );
8084
}
8185

86+
@Override
87+
protected BytecodeEnhancementMetadata getBytecodeEnhancementMetadataPojo(
88+
PersistentClass persistentClass,
89+
RuntimeModelCreationContext creationContext,
90+
Set<String> idAttributeNames,
91+
CompositeType nonAggregatedCidMapper,
92+
boolean collectionsInDefaultFetchGroupEnabled) {
93+
return ReactiveBytecodeEnhancementMetadataPojoImplAdapter
94+
.from( persistentClass, idAttributeNames, nonAggregatedCidMapper, collectionsInDefaultFetchGroupEnabled, creationContext.getMetadata() );
95+
}
96+
8297
@Override
8398
public GeneratedValuesMutationDelegate createInsertDelegate() {
8499
return ReactiveAbstractEntityPersister.super.createReactiveInsertDelegate();

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveUnionSubclassEntityPersister.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77

88
import java.lang.invoke.MethodHandles;
99
import java.util.List;
10+
import java.util.Set;
1011
import java.util.concurrent.CompletionStage;
1112

1213
import org.hibernate.FetchMode;
1314
import org.hibernate.HibernateException;
1415
import org.hibernate.LockMode;
1516
import org.hibernate.LockOptions;
1617
import org.hibernate.MappingException;
18+
import org.hibernate.bytecode.spi.BytecodeEnhancementMetadata;
1719
import org.hibernate.cache.spi.access.EntityDataAccess;
1820
import org.hibernate.cache.spi.access.NaturalIdDataAccess;
1921
import org.hibernate.engine.spi.CascadeStyle;
@@ -43,6 +45,7 @@
4345
import org.hibernate.persister.entity.mutation.InsertCoordinator;
4446
import org.hibernate.persister.entity.mutation.UpdateCoordinator;
4547
import org.hibernate.property.access.spi.PropertyAccess;
48+
import org.hibernate.reactive.bythecode.spi.ReactiveBytecodeEnhancementMetadataPojoImplAdapter;
4649
import org.hibernate.reactive.loader.ast.internal.ReactiveSingleIdArrayLoadPlan;
4750
import org.hibernate.reactive.loader.ast.spi.ReactiveSingleUniqueKeyEntityLoader;
4851
import org.hibernate.reactive.logging.impl.Log;
@@ -56,6 +59,7 @@
5659
import org.hibernate.sql.ast.tree.from.TableGroup;
5760
import org.hibernate.sql.results.graph.DomainResult;
5861
import org.hibernate.sql.results.graph.DomainResultCreationState;
62+
import org.hibernate.type.CompositeType;
5963
import org.hibernate.type.EntityType;
6064

6165
/**
@@ -77,6 +81,17 @@ public ReactiveUnionSubclassEntityPersister(
7781
reactiveDelegate = new ReactiveAbstractPersisterDelegate( this, persistentClass, new ReactiveRuntimeModelCreationContext( creationContext ) );
7882
}
7983

84+
@Override
85+
protected BytecodeEnhancementMetadata getBytecodeEnhancementMetadataPojo(
86+
PersistentClass persistentClass,
87+
RuntimeModelCreationContext creationContext,
88+
Set<String> idAttributeNames,
89+
CompositeType nonAggregatedCidMapper,
90+
boolean collectionsInDefaultFetchGroupEnabled) {
91+
return ReactiveBytecodeEnhancementMetadataPojoImplAdapter
92+
.from( persistentClass, idAttributeNames, nonAggregatedCidMapper, collectionsInDefaultFetchGroupEnabled, creationContext.getMetadata() );
93+
}
94+
8095
@Override
8196
protected SingleIdEntityLoader<?> buildSingleIdEntityLoader() {
8297
return reactiveDelegate.buildSingleIdEntityLoader();

0 commit comments

Comments
 (0)