Skip to content

Commit 26e2a9c

Browse files
committed
HHH-19953 Relax scope of methods in EntityInitializerImpl
For Hibernate Reactive. It needs to reimplement these classes and we will avoid a lot of duplicated code.
1 parent a36693f commit 26e2a9c

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

hibernate-core/src/main/java/org/hibernate/sql/results/graph/entity/internal/EntityInitializerImpl.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,7 +1329,8 @@ protected void upgradeLockMode(EntityInitializerData data) {
13291329
}
13301330
}
13311331

1332-
private boolean isProxyInstance(Object proxy) {
1332+
// Used by Hibernate Reactive
1333+
protected boolean isProxyInstance(Object proxy) {
13331334
return proxy != null
13341335
&& ( proxy instanceof MapProxy || entityDescriptor.getJavaType().getJavaTypeClass().isInstance( proxy ) );
13351336
}
@@ -1421,7 +1422,8 @@ protected Object instantiateEntity(EntityInitializerData data) {
14211422
.instantiate( data.concreteDescriptor, data.entityKey.getIdentifier() );
14221423
}
14231424

1424-
private Object resolveToOptionalInstance(EntityInitializerData data) {
1425+
// Used by Hibernate Reactive
1426+
protected Object resolveToOptionalInstance(EntityInitializerData data) {
14251427
if ( isResultInitializer() ) {
14261428
// this isEntityReturn bit is just for entity loaders, not hql/criteria
14271429
final var processingOptions =
@@ -1437,7 +1439,8 @@ private Object resolveToOptionalInstance(EntityInitializerData data) {
14371439
}
14381440
}
14391441

1440-
private boolean matchesOptionalInstance(
1442+
// Used by Hibernate Reactive
1443+
protected boolean matchesOptionalInstance(
14411444
EntityInitializerData data,
14421445
JdbcValuesSourceProcessingOptions processingOptions) {
14431446
final Object optionalEntityInstance = processingOptions.getEffectiveOptionalObject();
@@ -1447,7 +1450,8 @@ private boolean matchesOptionalInstance(
14471450
&& areKeysEqual( requestedEntityId, data.entityKey.getIdentifier() );
14481451
}
14491452

1450-
private Object resolveInstanceFromCache(EntityInitializerData data) {
1453+
// Used by Hibernate Reactive
1454+
protected Object resolveInstanceFromCache(EntityInitializerData data) {
14511455
return loadFromSecondLevelCache(
14521456
data.getRowProcessingState().getSession().asEventSource(),
14531457
null,
@@ -2035,6 +2039,25 @@ public String toString() {
20352039
//#########################
20362040
// For Hibernate Reactive
20372041
//#########################
2042+
protected EntityPersister getRootEntityDescriptor() {
2043+
return rootEntityDescriptor;
2044+
}
2045+
2046+
protected @Nullable Initializer<?>[][] getEagerSubInitializers() {
2047+
return eagerSubInitializers;
2048+
}
2049+
2050+
protected @Nullable Initializer<?>[][] getCollectionContainingSubInitializers() {
2051+
return collectionContainingSubInitializers;
2052+
}
2053+
2054+
protected ImmutableBitSet[] getLazySets() {
2055+
return lazySets;
2056+
}
2057+
2058+
public boolean isHasLazyInitializingSubAssemblers() {
2059+
return hasLazyInitializingSubAssemblers;
2060+
}
20382061

20392062
protected @Nullable DomainResultAssembler<?> getVersionAssembler() {
20402063
return versionAssembler;

0 commit comments

Comments
 (0)