@@ -169,12 +169,11 @@ public QuerySqmImpl(
169169 this .hql = hql ;
170170 this .resultType = resultType ;
171171
172- this . sqm = hqlInterpretation .getSqmStatement ();
172+ sqm = hqlInterpretation .getSqmStatement ();
173173
174- this .parameterMetadata = hqlInterpretation .getParameterMetadata ();
175- this .domainParameterXref = hqlInterpretation .getDomainParameterXref ();
176-
177- this .parameterBindings = parameterMetadata .createBindings ( session .getFactory () );
174+ parameterMetadata = hqlInterpretation .getParameterMetadata ();
175+ domainParameterXref = hqlInterpretation .getDomainParameterXref ();
176+ parameterBindings = parameterMetadata .createBindings ( session .getFactory () );
178177
179178 if ( sqm instanceof SqmSelectStatement <?> ) {
180179 hqlInterpretation .validateResultType ( resultType );
@@ -186,7 +185,7 @@ public QuerySqmImpl(
186185 }
187186 setComment ( hql );
188187
189- this . tupleMetadata = buildTupleMetadata ( sqm , resultType );
188+ tupleMetadata = buildTupleMetadata ( sqm , resultType );
190189 }
191190
192191 /**
@@ -210,14 +209,10 @@ public QuerySqmImpl(
210209 setComment ( hql );
211210
212211 domainParameterXref = DomainParameterXref .from ( sqm );
213- if ( ! domainParameterXref .hasParameters () ) {
214- parameterMetadata = ParameterMetadataImpl .EMPTY ;
215- }
216- else {
217- parameterMetadata = new ParameterMetadataImpl ( domainParameterXref .getQueryParameters () );
218- }
219-
220- this .parameterBindings = parameterMetadata .createBindings ( producer .getFactory () );
212+ parameterMetadata = !domainParameterXref .hasParameters ()
213+ ? ParameterMetadataImpl .EMPTY
214+ : new ParameterMetadataImpl ( domainParameterXref .getQueryParameters () );
215+ parameterBindings = parameterMetadata .createBindings ( producer .getFactory () );
221216
222217 // Parameters might be created through HibernateCriteriaBuilder.value which we need to bind here
223218 for ( SqmParameter <?> sqmParameter : domainParameterXref .getParameterResolutions ().getSqmParameters () ) {
@@ -232,11 +227,11 @@ public QuerySqmImpl(
232227 validateCriteriaQuery ( queryPart );
233228 selectStatement .validateResultType ( expectedResultType );
234229 }
235- else {
230+ else if ( sqm instanceof AbstractSqmDmlStatement < R > update ) {
236231 if ( expectedResultType != null ) {
237232 throw new IllegalQueryOperationException ( "Result type given for a non-SELECT Query" , hql , null );
238233 }
239- ( ( AbstractSqmDmlStatement <?>) sqm ) .validate ( hql );
234+ update .validate ( hql );
240235 }
241236
242237 resultType = expectedResultType ;
0 commit comments