DATAJDBC-327 - Add support for conversion to JdbcValue and store byte[] as binary.
Some JDBC drivers depend on correct explicit type information in order to pass on parameters to the database.
So far CustomConversion had no way to provide that information.
With this change one can use @WritingConverter that converts to JdbcTypeAware in order to provide that information.
byte[] now also get stored as BINARY.
Original pull request: #123.
@ -97,28 +104,19 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@@ -97,28 +104,19 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@ -135,7 +133,8 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@@ -135,7 +133,8 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@ -240,17 +239,14 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@@ -240,17 +239,14 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@ -292,8 +288,8 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@@ -292,8 +288,8 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@ -301,6 +297,9 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@@ -301,6 +297,9 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@ -309,42 +308,21 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@@ -309,42 +308,21 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@ -398,8 +376,65 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@@ -398,8 +376,65 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy {
@ -61,7 +61,7 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy {
@@ -61,7 +61,7 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy {
@ -70,7 +70,7 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy {
@@ -70,7 +70,7 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy {
// the DefaultDataAccessStrategy needs a reference to the returned DataAccessStrategy. This creates a dependency
@ -104,7 +104,7 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy {
@@ -104,7 +104,7 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy {
@ -50,7 +50,7 @@ public class JdbcRepositoryFactoryBean<T extends Repository<S, ID>, S, ID extend
@@ -50,7 +50,7 @@ public class JdbcRepositoryFactoryBean<T extends Repository<S, ID>, S, ID extend
@ -128,7 +128,7 @@ public class JdbcRepositoryFactoryBean<T extends Repository<S, ID>, S, ID extend
@@ -128,7 +128,7 @@ public class JdbcRepositoryFactoryBean<T extends Repository<S, ID>, S, ID extend
@ -43,7 +43,7 @@ public class BasicRelationalConverterAggregateReferenceUnitTests {
@@ -43,7 +43,7 @@ public class BasicRelationalConverterAggregateReferenceUnitTests {
@ -188,6 +188,12 @@ Converters should be annotated with `@ReadingConverter` or `@WritingConverter` i
@@ -188,6 +188,12 @@ Converters should be annotated with `@ReadingConverter` or `@WritingConverter` i
`TIMESTAMPTZ` in the example is a database specific data type that needs conversion into something more suitable for a domain model.
==== JdbcValue
When setting bind parameters with a JDBC driver one may opt to provide a `java.sql.Types` constant value to denote the type of the parameter.
If for a value this type need to be specified this can be done by using a writing converter as described in the previous section.
This converter should convert to `JdbcValue` which has a field for the value and one of for the `JDBCType`.