Class ColumnValueParameter

java.lang.Object
org.hibernate.sql.exec.internal.AbstractJdbcParameter
org.hibernate.sql.ast.spi.model.ColumnValueParameter
All Implemented Interfaces:
BasicValuedMapping, Bindable, JdbcMappingContainer, MappingModelExpressible, SqlExpressible, ValueMapping, SqlSelectionProducer, Expression, JdbcParameter, SqlAstNode, JdbcParameterBinder, JavaTypedExpressible

public class ColumnValueParameter extends org.hibernate.sql.exec.internal.AbstractJdbcParameter

Parameter descriptor specific to mutations. It exposes metadata about the parameter.

[!NOTE]

Especially note the usage - we track parameters separately for assignments and restrictions to allow different values in each clause. E.g.

update ... set col = newValue where col = oldValue


The JDBC-parameter methods declared by this class are its provider-facing
contract. Provider code should invoke these methods directly and must not
depend on the internal superclass used to share implementation inside
Hibernate.
  • Constructor Details

  • Method Details

    • getColumnReference

      @Nonnull public ColumnReference getColumnReference()
    • getUsage

      public ParameterUsage getUsage()
    • getParameterBinder

      public JdbcParameterBinder getParameterBinder()
      The binder for this parameter.
      Specified by:
      getParameterBinder in interface JdbcParameter
      Overrides:
      getParameterBinder in class org.hibernate.sql.exec.internal.AbstractJdbcParameter
      Since:
      8.0
    • getParameterId

      @Nullable public Integer getParameterId()
      The identifier of this parameter, which is always null for a column value parameter.
      Specified by:
      getParameterId in interface JdbcParameter
      Overrides:
      getParameterId in class org.hibernate.sql.exec.internal.AbstractJdbcParameter
      Since:
      8.0
    • getJdbcMapping

      @Nonnull public JdbcMapping getJdbcMapping()
      The JDBC mapping of the referenced column.
      Specified by:
      getJdbcMapping in interface BasicValuedMapping
      Specified by:
      getJdbcMapping in interface SqlExpressible
      Overrides:
      getJdbcMapping in class org.hibernate.sql.exec.internal.AbstractJdbcParameter
      Since:
      8.0
    • accept

      public void accept(SqlAstWalker sqlTreeWalker)
      Accept the SQL AST walker as this parameter.
      Specified by:
      accept in interface SqlAstNode
      Overrides:
      accept in class org.hibernate.sql.exec.internal.AbstractJdbcParameter
      Since:
      8.0
    • toString

      public String toString()
      Overrides:
      toString in class Object