@@ -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 ,
@@ -106,6 +108,7 @@ public String getFetchableName() {
106108
107109 @ Override
108110 public NativeQuery .FetchReturn setLockMode (LockMode lockMode ) {
111+ this .lockMode = lockMode ;
109112 return this ;
110113 }
111114
@@ -176,6 +179,9 @@ public Fetch buildFetch(
176179 final DomainResultCreationStateImpl creationState = impl ( domainResultCreationState );
177180 final TableGroup ownerTableGroup = creationState .getFromClauseAccess ().findByAlias ( ownerTableAlias );
178181 final TableGroup tableGroup ;
182+ if ( lockMode != null ) {
183+ domainResultCreationState .getSqlAstCreationState ().registerLockMode ( tableAlias , lockMode );
184+ }
179185 if ( fetchable instanceof TableGroupJoinProducer ) {
180186 final SqlAliasBase sqlAliasBase = new SqlAliasBaseConstant ( tableAlias );
181187 final TableGroupJoin tableGroupJoin = ( (TableGroupJoinProducer ) fetchable ).createTableGroupJoin (
@@ -346,11 +352,6 @@ public void addFetchBuilder(Fetchable fetchable, FetchBuilder fetchBuilder) {
346352 fetchBuilderMap .put ( fetchable , fetchBuilder );
347353 }
348354
349- // @Override
350- // public void visitFetchBuilders(BiConsumer<Fetchable, FetchBuilder> consumer) {
351- // fetchBuilderMap.forEach( consumer );
352- // }
353-
354355 @ Override
355356 public boolean equals (Object o ) {
356357 if ( this == o ) {
@@ -364,6 +365,7 @@ public boolean equals(Object o) {
364365 return tableAlias .equals ( that .tableAlias )
365366 && ownerTableAlias .equals ( that .ownerTableAlias )
366367 && fetchable .equals ( that .fetchable )
368+ && lockMode .equals ( that .lockMode )
367369 && Objects .equals ( columnNames , that .columnNames )
368370 && Objects .equals ( fetchBuilderMap , that .fetchBuilderMap )
369371 && Objects .equals ( resultBuilderEntity , that .resultBuilderEntity );
@@ -374,6 +376,7 @@ public int hashCode() {
374376 int result = tableAlias .hashCode ();
375377 result = 31 * result + ownerTableAlias .hashCode ();
376378 result = 31 * result + fetchable .hashCode ();
379+ result = 31 * result + lockMode .hashCode ();
377380 result = 31 * result + ( columnNames != null ? columnNames .hashCode () : 0 );
378381 result = 31 * result + ( fetchBuilderMap != null ? fetchBuilderMap .hashCode () : 0 );
379382 result = 31 * result + ( resultBuilderEntity != null ? resultBuilderEntity .hashCode () : 0 );
0 commit comments