Interface ParameterRegistration<T>

    • Method Detail

      • getName

        java.lang.String getName()
        The name under which this parameter was registered. Can be null which should indicate that positional registration was used (and therefore getPosition() should return non-null.
        Specified by:
        getName in interface Parameter<T>
        The name;
      • getPosition

        java.lang.Integer getPosition()
        The position at which this parameter was registered. Can be null which should indicate that named registration was used (and therefore getName() should return non-null.
        Specified by:
        getPosition in interface Parameter<T>
        The name;
      • getType

        default java.lang.Class<T> getType()
        Return the Java type of the parameter.
        The Java type of the parameter.
      • getMode

        ParameterMode getMode()
        Retrieves the parameter "mode" which describes how the parameter is defined in the actual database procedure definition (is it an INPUT parameter? An OUTPUT parameter? etc).
        Specified by:
        getMode in interface ProcedureParameter<T>
        The parameter mode.
      • enablePassingNulls

        void enablePassingNulls​(boolean enabled)
        Controls how unbound values for this IN/INOUT parameter registration will be handled prior to execution. There are 2 possible options to handle it:
        • bind the NULL to the parameter
        • do not bind the NULL to the parameter

        The reason for the distinction comes from default values defined on the corresponding database procedure/function argument. Any time a value (including NULL) is bound to the argument, its default value will not be used. So effectively this setting controls whether the NULL should be interpreted as "pass the NULL" or as "apply the argument default".

        The (global) default this setting is defined by AvailableSettings.PROCEDURE_NULL_PARAM_PASSING

        Specified by:
        enablePassingNulls in interface ProcedureParameter<T>
        enabled - true indicates that the NULL should be passed; false indicates it should not.
        See Also:
      • setHibernateType

        void setHibernateType​(Type type)
        Set the Hibernate mapping type for this parameter.
        type - The Hibernate mapping type.
      • getBind

        ParameterBind<T> getBind()
        Retrieve the binding associated with this parameter. The binding is only relevant for INPUT parameters. Can return null if nothing has been bound yet. To bind a value to the parameter use one of the bindValue(T) methods.
        The parameter binding
      • bindValue

        void bindValue​(T value)
        Bind a value to the parameter. How this value is bound to the underlying JDBC CallableStatement is totally dependent on the Hibernate type.
        value - The value to bind.
      • bindValue

        void bindValue​(T value,
                       TemporalType explicitTemporalType)
        Bind a value to the parameter, using just a specified portion of the DATE/TIME value. It is illegal to call this form if the parameter is not DATE/TIME type. The Hibernate type is circumvented in this case and an appropriate "precision" Type is used instead.
        value - The value to bind
        explicitTemporalType - An explicitly supplied TemporalType.