@@ -61,6 +61,8 @@ public class DynamicFetchBuilderLegacy
6161 private final Map <Fetchable , FetchBuilder > fetchBuilderMap ;
6262 private final DynamicResultBuilderEntityStandard resultBuilderEntity ;
6363
64+ private LockMode lockMode ;
65+
6466 public DynamicFetchBuilderLegacy (
6567 String tableAlias ,
6668 String ownerTableAlias ,
@@ -107,6 +109,7 @@ public String getFetchableName() {
107109
108110 @ Override
109111 public NativeQuery .FetchReturn setLockMode (LockMode lockMode ) {
112+ this .lockMode = lockMode ;
110113 return this ;
111114 }
112115
@@ -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 (
@@ -359,6 +365,7 @@ public boolean equals(Object o) {
359365 return tableAlias .equals ( that .tableAlias )
360366 && ownerTableAlias .equals ( that .ownerTableAlias )
361367 && fetchable .equals ( that .fetchable )
368+ && lockMode .equals ( that .lockMode )
362369 && Objects .equals ( columnNames , that .columnNames )
363370 && Objects .equals ( fetchBuilderMap , that .fetchBuilderMap )
364371 && Objects .equals ( resultBuilderEntity , that .resultBuilderEntity );
@@ -369,6 +376,7 @@ public int hashCode() {
369376 int result = tableAlias .hashCode ();
370377 result = 31 * result + ownerTableAlias .hashCode ();
371378 result = 31 * result + fetchable .hashCode ();
379+ result = 31 * result + lockMode .hashCode ();
372380 result = 31 * result + ( columnNames != null ? columnNames .hashCode () : 0 );
373381 result = 31 * result + ( fetchBuilderMap != null ? fetchBuilderMap .hashCode () : 0 );
374382 result = 31 * result + ( resultBuilderEntity != null ? resultBuilderEntity .hashCode () : 0 );
0 commit comments