We now translate isTrue/isFalse criteria values if their actual value is not provided.
The more correct approach would be setting a value in Criteria.
Closes#733
Refactored the assertions towards a custom assertion class, taking care of limited parsing of the generated SQL statements.
Original pull request spring-projects/spring-data-r2dbc/pull/691
The order of selected columns depended on the nondeterministic behavior of getDeclaredFields.
Original pull request spring-projects/spring-data-r2dbc/pull/691
We now check in all places where we optionally use the Id property that an entity actually has an Id property and fall back leniently if the entity doesn't have an identifier property.
Also, we use IdentifierAccessor consistently if the property is an identifier property.
See #711
We now use reflection to call RowMetadata.getColumnMetadatas to avoid NoSuchMethodError when using R2DBC 0.9 as the return type has changed in newer R2DBC versions.
Closes#699
We now unwrap Parameter objects containing type and value for bind parameters when binding these from within a PreparedOperation to a statement.
PreparedOperation objects are expected to use low-level R2DBC API (bind, bindNull) instead of using the Parameter abstraction. Previously, we tried to bind Parameter objects to R2DBC Statements and that has failed as drivers cannot encode Spring's Pararameter type.
Closes#694
Remove unused imports. Use more explicit lambda parameter naming.
Also, adopt tests to changed Spring Data Relational SQL generation.
Original pull request: #690.
See #689
We now no longer attempt to create instances of nested entities if the column value is null. Previously the null check happened after checking registered custom conversions which has lead to potential object creation for columns containing null values.
Closes#670
We now correctly in initialize ReactiveQueryMethodEvaluationContextProvider in the repository factory bean. Previously, we used an empty instance of ReactiveQueryMethodEvaluationContextProvider that didn't consider registered extensions.
Closes#658
Improve default converter setup by considering R2dbcCustomConversions.STORE_CONVERSIONS to register built-in converters in default configurations.
See #612
Creating R2dbcCustomConversions without a dialect or StoreConversions can easily lead to misconfiguration that isn't immediately obvious because of missing store simple types. We now deprecated the constructor and have added guidance on how to properly create R2dbcCustomConversions that is associated with a dialect.
Closes#628