Interface JdbcConverter
- All Superinterfaces:
RelationalConverter
- All Known Implementing Classes:
BasicJdbcConverter
,MappingJdbcConverter
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 Summary
Modifier and TypeMethodDescriptionClass<?>
getColumnType
(RelationalPersistentProperty property) The type to be used to store this property in the database.Returns the underlyingMappingContext
used by the converter.getTargetSqlType
(RelationalPersistentProperty property) The SQL type constant used when using this property as a parameter for a SQL statement.default <T> T
mapRow
(PersistentPropertyPathExtension path, ResultSet resultSet, Identifier identifier, Object key) Deprecated, for removal: This API element is subject to removal in a future version.default <T> T
mapRow
(RelationalPersistentEntity<T> entity, ResultSet resultSet, Object key) Deprecated.since 3.2, usereadAndResolve(Class, RowDocument, Identifier)
instead.default <R> R
readAndResolve
(Class<R> type, RowDocument source) Read aRowDocument
into the requestedaggregate type
and resolve references by looking these up fromRelationResolver
.default <R> R
readAndResolve
(Class<R> type, RowDocument source, Identifier identifier) Read aRowDocument
into the requestedaggregate type
and resolve references by looking these up fromRelationResolver
.<R> R
readAndResolve
(TypeInformation<R> type, RowDocument source, Identifier identifier) Read aRowDocument
into the requestedaggregate type
and resolve references by looking these up fromRelationResolver
.default JdbcValue
writeJdbcValue
(Object value, Class<?> type, SQLType sqlType) Convert a property value into aJdbcValue
that contains the converted value and information how to bind it to JDBC parameters.writeJdbcValue
(Object value, TypeInformation<?> type, SQLType sqlType) Convert a property value into aJdbcValue
that contains the converted value and information how to bind it to JDBC parameters.Methods inherited from interface org.springframework.data.relational.core.conversion.RelationalConverter
createInstance, getConversionService, getEntityInstantiators, getPropertyAccessor, introspectProjection, project, read, readValue, writeValue
-
Method Details
-
writeJdbcValue
Convert a property value into aJdbcValue
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 benull
.type
- Class into which the value is to be converted. Must not benull
.sqlType
- theSQLType
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
Convert a property value into aJdbcValue
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 benull
.type
-TypeInformation
into which the value is to be converted. Must not benull
.sqlType
- theSQLType
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
-
mapRow
@Deprecated(since="3.2") default <T> T mapRow(RelationalPersistentEntity<T> entity, ResultSet resultSet, Object key) Deprecated.since 3.2, usereadAndResolve(Class, RowDocument, Identifier)
instead.- Type Parameters:
T
-- Parameters:
entity
- the persistent entity type.resultSet
- theResultSet
to read from.key
- primary key.- Returns:
-
mapRow
@Deprecated(since="3.2", forRemoval=true) default <T> T mapRow(PersistentPropertyPathExtension path, ResultSet resultSet, Identifier identifier, Object key) Deprecated, for removal: This API element is subject to removal in a future version.usereadAndResolve(Class, RowDocument, Identifier)
instead.- Type Parameters:
T
-- Parameters:
path
- path to the owning property.resultSet
- theResultSet
to read from.identifier
- entity identifier.key
- primary key.- Returns:
-
readAndResolve
Read aRowDocument
into the requestedaggregate type
and resolve references by looking these up fromRelationResolver
.- Type Parameters:
R
- aggregate type.- Parameters:
type
- target aggregate type.source
- sourceRowDocument
.- Returns:
- the converted object.
- Since:
- 3.2
- See Also:
-
readAndResolve
Read aRowDocument
into the requestedaggregate type
and resolve references by looking these up fromRelationResolver
.- Type Parameters:
R
- aggregate type.- Parameters:
type
- target aggregate type.source
- sourceRowDocument
.identifier
- identifier chain.- Returns:
- the converted object.
- Since:
- 3.2
- See Also:
-
readAndResolve
Read aRowDocument
into the requestedaggregate type
and resolve references by looking these up fromRelationResolver
.- Type Parameters:
R
- aggregate type.- Parameters:
type
- target aggregate type.source
- sourceRowDocument
.identifier
- identifier chain.- Returns:
- the converted object.
- Since:
- 3.2.6
- See Also:
-
getColumnType
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[][]
returnsString[]
).- Returns:
- a
Class
that is suitable for usage with JDBC drivers. - Since:
- 2.0 TODO: Introduce variant returning TypeInformation.
- See Also:
-
getTargetSqlType
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()Description copied from interface:RelationalConverter
Returns the underlyingMappingContext
used by the converter.- Specified by:
getMappingContext
in interfaceRelationalConverter
- Returns:
- never null
-
readAndResolve(Class, RowDocument, Identifier)
instead.