public interface ParameterRegistration<T> extends ProcedureParameter<T>
Describes a registered procedure/function parameter.
Modifier and Type | Method and Description |
---|---|
void |
bindValue(T value)
Bind a value to the parameter.
|
void |
bindValue(T value,
TemporalType explicitTemporalType)
Bind a value to the parameter, using just a specified portion of the DATE/TIME value.
|
void |
enablePassingNulls(boolean enabled)
Controls how unbound values for this IN/INOUT parameter registration will be handled prior to
execution.
|
ParameterBind<T> |
getBind()
Retrieve the binding associated with this parameter.
|
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).
|
String |
getName()
The name under which this parameter was registered.
|
Integer |
getPosition()
The position at which this parameter was registered.
|
void |
setHibernateType(Type type)
Set the Hibernate mapping type for this parameter.
|
isPassNullsEnabled
getSourceLocations, getType
getParameterType
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.
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.
getPosition
in interface Parameter<T>
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).
getMode
in interface ProcedureParameter<T>
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:<ul>
<li>bind the NULL to the parameter</li>
<li>do not bind the NULL to the parameter</li>
</ul>
<p/>
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".
<p/>
The (global) default this setting is defined by AvailableSettings.PROCEDURE_NULL_PARAM_PASSING
enablePassingNulls
in interface ProcedureParameter<T>
enabled
- true
indicates that the NULL should be passed; false
indicates it should not.enablePassingNulls(boolean)
void setHibernateType(Type type)
Set the Hibernate mapping type for this parameter.
type
- The Hibernate mapping type.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.
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.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 bindexplicitTemporalType
- An explicitly supplied TemporalType.Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.