@@ -60,6 +60,8 @@ public class DynamicFetchBuilderLegacy implements DynamicFetchBuilder, NativeQue
6060 private final Map <Fetchable , FetchBuilder > fetchBuilderMap ;
6161 private final DynamicResultBuilderEntityStandard resultBuilderEntity ;
6262
63+ private LockMode lockMode ;
64+
6365 public DynamicFetchBuilderLegacy (
6466 String tableAlias ,
6567 String ownerTableAlias ,
@@ -101,6 +103,7 @@ public Fetchable getFetchable() {
101103
102104 @ Override
103105 public NativeQuery .FetchReturn setLockMode (LockMode lockMode ) {
106+ this .lockMode = lockMode ;
104107 return this ;
105108 }
106109
@@ -171,6 +174,9 @@ public Fetch buildFetch(
171174 final DomainResultCreationStateImpl creationState = impl ( domainResultCreationState );
172175 final TableGroup ownerTableGroup = creationState .getFromClauseAccess ().findByAlias ( ownerTableAlias );
173176 final TableGroup tableGroup ;
177+ if ( lockMode != null ) {
178+ domainResultCreationState .getSqlAstCreationState ().registerLockMode ( tableAlias , lockMode );
179+ }
174180 if ( fetchable instanceof TableGroupJoinProducer ) {
175181 final SqlAliasBase sqlAliasBase = new SqlAliasBaseConstant ( tableAlias );
176182 final TableGroupJoin tableGroupJoin = ( (TableGroupJoinProducer ) fetchable ).createTableGroupJoin (
@@ -341,11 +347,6 @@ public void addFetchBuilder(Fetchable fetchable, FetchBuilder fetchBuilder) {
341347 fetchBuilderMap .put ( fetchable , fetchBuilder );
342348 }
343349
344- // @Override
345- // public void visitFetchBuilders(BiConsumer<Fetchable, FetchBuilder> consumer) {
346- // fetchBuilderMap.forEach( consumer );
347- // }
348-
349350 @ Override
350351 public boolean equals (Object o ) {
351352 if ( this == o ) {
@@ -359,6 +360,7 @@ public boolean equals(Object o) {
359360 return tableAlias .equals ( that .tableAlias )
360361 && ownerTableAlias .equals ( that .ownerTableAlias )
361362 && fetchable .equals ( that .fetchable )
363+ && lockMode .equals ( that .lockMode )
362364 && Objects .equals ( columnNames , that .columnNames )
363365 && Objects .equals ( fetchBuilderMap , that .fetchBuilderMap )
364366 && Objects .equals ( resultBuilderEntity , that .resultBuilderEntity );
@@ -369,6 +371,7 @@ public int hashCode() {
369371 int result = tableAlias .hashCode ();
370372 result = 31 * result + ownerTableAlias .hashCode ();
371373 result = 31 * result + fetchable .hashCode ();
374+ result = 31 * result + lockMode .hashCode ();
372375 result = 31 * result + ( columnNames != null ? columnNames .hashCode () : 0 );
373376 result = 31 * result + ( fetchBuilderMap != null ? fetchBuilderMap .hashCode () : 0 );
374377 result = 31 * result + ( resultBuilderEntity != null ? resultBuilderEntity .hashCode () : 0 );
0 commit comments