We now correctly obtain the target type for a persistent property that should be converted into an array value prior to constructing Parameter.
Previously, we fell back to the actual type without considering potential converters which left collection-like enum properties without a value with the enum array type that was potentially not supported by the database driver.
Closes#593
The wrong call is not caught by the compiler due to a bind method that has a signature of (String name, Object value).
Previously, bindNull(…) called bind(…).
Closes#587.
We now check in R2dbcEntityTemplate whether we need to skip the Id value if its value is null or a primitive using its default. Previously, the check was located in the converter. Converting an entity afteri ncrementing the version of a versioned entity would write the Id value as the entity was no longer considered to be new.
Closes#557.
Make count assertions case-insensitive regarding the count column name. Add missing license headers. Support DatabaseContainer without a database name.
See #230
We support Oracle's experimental R2DBC driver by providing a dialect including bind markers. Since the driver is not yet available from Maven Central and it requires module-path support for ServiceLoader discovery, we need to apply a few workarounds including absence check for our integration tests.
See #230
We now call Statement.returnGeneratedValues(…) with the primary key column name to ensure consistent behavior across all drivers and to avoid non-portable behavior.
Closes#558
R2dbcEntityTemplate.insert(…) now fully consumes the response from the INSERT call before continuing. Previously, we consumed only the first signal and continued then. A driver could emit a row and then an error signal and so the error signal would go unnoticed.
Closes#552.