|
181 | 181 | import org.hibernate.query.sqm.tree.domain.SqmPluralValuedSimplePath;
|
182 | 182 | import org.hibernate.query.sqm.tree.domain.SqmTreatedPath;
|
183 | 183 | import org.hibernate.query.sqm.tree.domain.SqmTreatedRoot;
|
| 184 | +import org.hibernate.query.sqm.tree.expression.AbstractSqmExpression; |
184 | 185 | import org.hibernate.query.sqm.tree.expression.Conversion;
|
185 | 186 | import org.hibernate.query.sqm.tree.expression.JpaCriteriaParameter;
|
186 | 187 | import org.hibernate.query.sqm.tree.expression.SqmAliasedNodeRef;
|
@@ -4890,11 +4891,8 @@ protected Expression consumeSqmParameter(
|
4890 | 4891 | final QueryParameterImplementor<?> queryParameter = domainParameterXref.getQueryParameter( sqmParameter );
|
4891 | 4892 | final QueryParameterBinding binding = domainParameterBindings.getBinding( queryParameter );
|
4892 | 4893 | if ( binding.setType( valueMapping ) ) {
|
4893 |
| - replaceJdbcParametersType( |
4894 |
| - sqmParameter, |
4895 |
| - domainParameterXref.getSqmParameters( queryParameter ), |
4896 |
| - valueMapping |
4897 |
| - ); |
| 4894 | + // Align the SqmParameter expressible type with the binding type |
| 4895 | + ( (AbstractSqmExpression) sqmParameter ).forceInferableType( (SqmExpressible<?>) binding.getBindType() ); |
4898 | 4896 | }
|
4899 | 4897 | return new SqmParameterInterpretation(
|
4900 | 4898 | sqmParameter,
|
@@ -6802,6 +6800,8 @@ private Predicate processInSingleParameter(
|
6802 | 6800 |
|
6803 | 6801 | if ( !iterator.hasNext() ) {
|
6804 | 6802 | domainParamBinding.setType( (MappingModelExpressible) determineValueMapping( sqmPredicate.getTestExpression(), fromClauseIndex ) );
|
| 6803 | + // Align the SqmParameter expressible type with the binding type |
| 6804 | + ( (AbstractSqmExpression) sqmParameter ).forceInferableType( (SqmExpressible<?>) domainParamBinding.getBindType() ); |
6805 | 6805 | return inListPredicate;
|
6806 | 6806 | }
|
6807 | 6807 |
|
|
0 commit comments