@@ -169,12 +169,11 @@ public QuerySqmImpl(
169
169
this .hql = hql ;
170
170
this .resultType = resultType ;
171
171
172
- this . sqm = hqlInterpretation .getSqmStatement ();
172
+ sqm = hqlInterpretation .getSqmStatement ();
173
173
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 () );
178
177
179
178
if ( sqm instanceof SqmSelectStatement <?> ) {
180
179
hqlInterpretation .validateResultType ( resultType );
@@ -186,7 +185,7 @@ public QuerySqmImpl(
186
185
}
187
186
setComment ( hql );
188
187
189
- this . tupleMetadata = buildTupleMetadata ( sqm , resultType );
188
+ tupleMetadata = buildTupleMetadata ( sqm , resultType );
190
189
}
191
190
192
191
/**
@@ -210,14 +209,10 @@ public QuerySqmImpl(
210
209
setComment ( hql );
211
210
212
211
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 () );
221
216
222
217
// Parameters might be created through HibernateCriteriaBuilder.value which we need to bind here
223
218
for ( SqmParameter <?> sqmParameter : domainParameterXref .getParameterResolutions ().getSqmParameters () ) {
@@ -232,11 +227,11 @@ public QuerySqmImpl(
232
227
validateCriteriaQuery ( queryPart );
233
228
selectStatement .validateResultType ( expectedResultType );
234
229
}
235
- else {
230
+ else if ( sqm instanceof AbstractSqmDmlStatement < R > update ) {
236
231
if ( expectedResultType != null ) {
237
232
throw new IllegalQueryOperationException ( "Result type given for a non-SELECT Query" , hql , null );
238
233
}
239
- ( ( AbstractSqmDmlStatement <?>) sqm ) .validate ( hql );
234
+ update .validate ( hql );
240
235
}
241
236
242
237
resultType = expectedResultType ;
0 commit comments