@@ -473,6 +473,7 @@ public abstract class BaseSqmToSqlAstConverter<T extends Statement> extends Base
473473 private final QueryOptions queryOptions ;
474474 private final LoadQueryInfluencers loadQueryInfluencers ;
475475
476+ private int jdbcParamsBySqmParamParameterId = 0 ;
476477 private final Map <SqmParameter <?>, List <List <JdbcParameter >>> jdbcParamsBySqmParam = new IdentityHashMap <>();
477478 private final JdbcParameters jdbcParameters = new JdbcParametersImpl ();
478479 private final DomainParameterXref domainParameterXref ;
@@ -5829,6 +5830,7 @@ protected Expression consumeSqmParameter(
58295830 );
58305831
58315832 this .jdbcParameters .addParameters ( jdbcParametersForSqm );
5833+ jdbcParamsBySqmParamParameterId += jdbcParametersForSqm .size ();
58325834 this .jdbcParamsBySqmParam
58335835 .computeIfAbsent ( sqmParameter , k -> new ArrayList <>( 1 ) )
58345836 .add ( jdbcParametersForSqm );
@@ -6199,12 +6201,12 @@ private void resolveSqmParameter(
61996201 BiConsumer <Integer ,JdbcParameter > jdbcParameterConsumer ) {
62006202 sqmParameterMappingModelTypes .put ( expression , valueMapping );
62016203 final List <List <JdbcParameter >> jdbcParams = jdbcParamsBySqmParam .get ( expression );
6202- final int parameterId = jdbcParams == null ? jdbcParamsBySqmParam . size ()
6204+ final int parameterId = jdbcParams == null ? jdbcParamsBySqmParamParameterId
62036205 : NullnessUtil .castNonNull ( jdbcParams .get ( 0 ).get ( 0 ).getParameterId () );
62046206 final Bindable bindable = bindable ( valueMapping );
62056207 if ( bindable instanceof SelectableMappings selectableMappings ) {
62066208 selectableMappings .forEachSelectable (
6207- (index , selectableMapping ) -> jdbcParameterConsumer .accept ( index , new SqlTypedMappingJdbcParameter ( selectableMapping , parameterId ) )
6209+ (index , selectableMapping ) -> jdbcParameterConsumer .accept ( index , new SqlTypedMappingJdbcParameter ( selectableMapping , parameterId + index ) )
62086210 );
62096211 }
62106212 else if ( bindable instanceof SelectableMapping selectableMapping ) {
0 commit comments