/** * @deprecated (since 5.2) expected changes to "collection-valued parameter binding" in 6.0 */ @Deprecated @SuppressWarnings("unchecked") private <T> QueryParameterBinding<T> getAndRemoveBinding(QueryParameter<T> parameter) { QueryParameterBinding<T> binding = parameterBindingMap.remove( parameter ); if ( binding == null ) { if ( parameter.getName() != null ) { parameter = parameterMetadata.getQueryParameter( parameter.getName() ); } else { parameter = parameterMetadata.getQueryParameter( parameter.getPosition() ); } if ( parameter == null ) { throw new HibernateException( "Unable to resolve QueryParameter" ); } } binding = parameterBindingMap.remove( parameter ); return binding; }
public void verifyParametersBound(boolean reserveFirstParameter) { for ( QueryParameter<?> parameter : parameterMetadata.collectAllParameters() ) { // check the "normal" bindings if ( parameterBindingMap.containsKey( parameter ) ) { continue; } // next check the "list" bindings if ( parameterListBindingMap != null && parameterListBindingMap.containsKey( parameter ) ) { continue; } if ( parametersConvertedToListBindings != null && parametersConvertedToListBindings.contains( parameter ) ) { continue; } if ( parameter.getName() != null ) { throw new QueryException( "Named parameter not bound : " + parameter.getName() ); } else { throw new QueryException( "Ordinal parameter not bound : " + parameter.getPosition() ); } } }
/** * @deprecated (since 5.2) expect a different approach to org.hibernate.engine.spi.QueryParameters in 6.0 */ @Deprecated public Map<String, TypedValue> collectNamedParameterBindings() { final Map<String, TypedValue> collectedBindings = new HashMap<>(); for ( Map.Entry<QueryParameter, QueryParameterBinding> entry : parameterBindingMap.entrySet() ) { final String key; if ( entry.getKey().getPosition() != null ) { key = Integer.toString( entry.getKey().getPosition() ); } else { key = entry.getKey().getName(); } Type bindType = entry.getValue().getBindType(); if ( bindType == null ) { log.debugf( "Binding for parameter [%s] did not define type", key ); bindType = SerializableType.INSTANCE; } collectedBindings.put( key, new TypedValue( bindType, entry.getValue().getBindValue() ) ); } return collectedBindings; }
log.tooManyInExpressions( dialect.getClass().getName(), inExprLimit, sourceParam.getName(), bindValueCount );