Interface JdbcConverter

All Superinterfaces:
RelationalConverter
All Known Implementing Classes:
MappingJdbcConverter

public interface JdbcConverter extends RelationalConverter
A JdbcConverter is responsible for converting for values to the native relational representation and vice versa.
Since:
1.1
Author:
Jens Schauder, Mark Paluch
  • Method Details

    • writeJdbcValue

      default JdbcValue writeJdbcValue(@Nullable Object value, Class<?> type, SQLType sqlType)
      Convert a property value into a JdbcValue that contains the converted value and information how to bind it to JDBC parameters.
      Parameters:
      value - a value as it is used in the object model. May be null.
      type - Class into which the value is to be converted. Must not be null.
      sqlType - the SQLType to be used if non is specified by a converter.
      Returns:
      The converted value wrapped in a JdbcValue. Guaranteed to be not null.
      Since:
      2.4
    • writeJdbcValue

      JdbcValue writeJdbcValue(@Nullable Object value, org.springframework.data.core.TypeInformation<?> type, SQLType sqlType)
      Convert a property value into a JdbcValue that contains the converted value and information how to bind it to JDBC parameters.
      Parameters:
      value - a value as it is used in the object model. May be null.
      type - TypeInformation into which the value is to be converted. Must not be null.
      sqlType - the SQLType to be used if non is specified by a converter.
      Returns:
      The converted value wrapped in a JdbcValue. Guaranteed to be not null.
      Since:
      3.2.6
    • readAndResolve

      default <R> R readAndResolve(Class<R> type, RowDocument source)
      Read a RowDocument into the requested aggregate type and resolve references by looking these up from RelationResolver.
      Type Parameters:
      R - aggregate type.
      Parameters:
      type - target aggregate type.
      source - source RowDocument.
      Returns:
      the converted object.
      Since:
      3.2
      See Also:
    • readAndResolve

      default <R> R readAndResolve(Class<R> type, RowDocument source, Identifier identifier)
      Read a RowDocument into the requested aggregate type and resolve references by looking these up from RelationResolver.
      Type Parameters:
      R - aggregate type.
      Parameters:
      type - target aggregate type.
      source - source RowDocument.
      identifier - identifier chain.
      Returns:
      the converted object.
      Since:
      3.2
      See Also:
    • readAndResolve

      <R> R readAndResolve(org.springframework.data.core.TypeInformation<R> type, RowDocument source, Identifier identifier)
      Read a RowDocument into the requested aggregate type and resolve references by looking these up from RelationResolver.
      Type Parameters:
      R - aggregate type.
      Parameters:
      type - target aggregate type.
      source - source RowDocument.
      identifier - identifier chain.
      Returns:
      the converted object.
      Since:
      3.2.6
      See Also:
    • getColumnType

      Class<?> getColumnType(RelationalPersistentProperty property)
      The type to be used to store this property in the database. Multidimensional arrays are unwrapped to reflect a top-level array type (e.g. String[][] returns String[]).
      Returns:
      a Class that is suitable for usage with JDBC drivers.
      Since:
      2.0 TODO: Introduce variant returning TypeInformation.
      See Also:
    • getTargetSqlType

      SQLType getTargetSqlType(RelationalPersistentProperty property)
      The SQL type constant used when using this property as a parameter for a SQL statement.
      Returns:
      Must not be null.
      Since:
      2.0
      See Also:
    • getMappingContext

      RelationalMappingContext getMappingContext()
      Specified by:
      getMappingContext in interface RelationalConverter