Skip to content

Commit c5f3dde

Browse files
stliusebersole
authored andcommitted
HHH-8276 - Integrate LoadPlans into UniqueEntityLoader (PoC)
1 parent c83fd30 commit c5f3dde

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

hibernate-core/src/main/java/org/hibernate/loader/plan2/exec/process/internal/ResultSetProcessingContextImpl.java

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,7 @@ public class ResultSetProcessingContextImpl implements ResultSetProcessingContex
8484
private Map<EntityPersister,Set<EntityKey>> subselectLoadableEntityKeyMap;
8585
private List<HydratedEntityRegistration> hydratedEntityRegistrationList;
8686

87-
private LockModeResolver lockModeResolverDelegate = new LockModeResolver() {
88-
@Override
89-
public LockMode resolveLockMode(EntityReference entityReference) {
90-
return LockMode.NONE;
91-
}
92-
};
87+
private final LockModeResolver lockModeResolverDelegate;
9388

9489
/**
9590
* Builds a ResultSetProcessingContextImpl
@@ -108,16 +103,16 @@ public LockMode resolveLockMode(EntityReference entityReference) {
108103
* @param hadSubselectFetches
109104
*/
110105
public ResultSetProcessingContextImpl(
111-
ResultSet resultSet,
112-
SessionImplementor session,
113-
LoadPlan loadPlan,
114-
boolean readOnly,
115-
boolean shouldUseOptionalEntityInformation,
116-
boolean forceFetchLazyAttributes,
117-
boolean shouldReturnProxies,
118-
QueryParameters queryParameters,
119-
NamedParameterContext namedParameterContext,
120-
boolean hadSubselectFetches) {
106+
final ResultSet resultSet,
107+
final SessionImplementor session,
108+
final LoadPlan loadPlan,
109+
final boolean readOnly,
110+
final boolean shouldUseOptionalEntityInformation,
111+
final boolean forceFetchLazyAttributes,
112+
final boolean shouldReturnProxies,
113+
final QueryParameters queryParameters,
114+
final NamedParameterContext namedParameterContext,
115+
final boolean hadSubselectFetches) {
121116
this.resultSet = resultSet;
122117
this.session = session;
123118
this.loadPlan = loadPlan;
@@ -137,6 +132,16 @@ public ResultSetProcessingContextImpl(
137132
}
138133
}
139134
}
135+
this.lockModeResolverDelegate = new LockModeResolver() {
136+
@Override
137+
public LockMode resolveLockMode(EntityReference entityReference) {
138+
if ( queryParameters.getLockOptions() != null && queryParameters.getLockOptions()
139+
.getLockMode() != null ) {
140+
return queryParameters.getLockOptions().getLockMode();
141+
}
142+
return LockMode.READ;
143+
}
144+
};
140145
}
141146

142147
@Override

0 commit comments

Comments
 (0)