Commit Graph

466 Commits

Author SHA1 Message Date
Christoph Strobl
902b38dd43 Prepare 1.4.4 (2021.1.4).
See #743
2022-04-19 12:02:44 +02:00
Mark Paluch
49852ad9fa Prepare 1.4.3 (2021.1.3).
See #724
2022-03-21 14:58:26 +01:00
Mark Paluch
2db3daa6db Correctly apply bind value for isTrue/isFalse criteria.
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
2022-02-28 15:10:22 +01:00
Mark Paluch
e1013a3677 Prepare 1.4.2 (2021.1.2).
See #704
2022-02-18 10:40:38 +01:00
Christoph Strobl
d9a22133e4 Update copyright year to 2022.
See: #722
2022-02-17 14:43:15 +01:00
Mark Paluch
31b722a95c Guard access to identifier property.
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
2022-01-20 13:39:45 +01:00
Mark Paluch
6a43de0b44 Polishing.
Reformat code. Add author tags.

See: #698
Original pull request: #708.
2022-01-17 10:55:50 +01:00
Manousos Mathioudakis
a5206e479d Fix isTrue/isFalse comparison for SQL server by using bind values.
Closes: #698
Original pull request: #708.
2022-01-17 10:55:50 +01:00
Christoph Strobl
8965a48a4f Prepare 1.4.1 (2021.1.1).
See #686
2022-01-14 10:28:26 +01:00
Mark Paluch
ad94eb3657 Reflectively invoke RowMetadata.getColumnMetadatas.
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
2022-01-03 16:25:41 +01:00
Mark Paluch
a235e8a071 Unwrap Parameter objects when used within PreparedOperation.
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
2021-12-14 14:45:31 +01:00
Mark Paluch
31d4b6ca8b Polishing.
Remove unused imports. Use more explicit lambda parameter naming.

Original pull request: #690.
See #689
2021-12-07 09:25:37 +01:00
JoseLion
87c2ac56f5 Use BeforeConvert callback result on non-versioned updates.
Previously, we used the original entity.

Closes #689
Original pull request: #690.
2021-12-07 09:23:29 +01:00
Jens Schauder
3a3a9d6bdd Prepare 1.4 GA (2021.1.0).
See #668
2021-11-12 10:49:15 +01:00
Mark Paluch
0d5a75abaa Polishing.
Reduce test method visibility.

See #683
2021-11-10 14:34:50 +01:00
Mark Paluch
d5aea5203c Move off RowMetadata.getColumnNames(…) in preparation for R2DBC 0.9.
Closes #683
2021-11-10 14:34:30 +01:00
Mark Paluch
c8ef7b4076 Use fully qualified names in ORDER BY clause.
Closes #680
2021-11-08 10:25:26 +01:00
Mark Paluch
0ad751ec5c Avoid nested entity creation if column value is null.
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
2021-10-25 15:43:43 +02:00
Nik Handyman
72ab6c3195 Remove redundant word from reference documentation.
Closes #634
2021-10-25 15:22:03 +02:00
Mark Paluch
5171f501c3 Prepare 1.4 RC1 (2021.1.0).
See #654
2021-10-18 13:47:45 +02:00
Mark Paluch
a53f4ac375 Add support for fluent Query by Example query definition.
Closes: #663
2021-10-08 13:56:34 +02:00
Mark Paluch
944577df67 Polishing.
Fix javadoc.

See #661
2021-10-04 11:25:18 +02:00
Mark Paluch
245ad697c7 Adopt to API changes in Spring Data Relational.
Closes #661
2021-10-04 11:22:20 +02:00
Mark Paluch
8705171763 Fix ReactiveQueryMethodEvaluationContextProvider initialization in R2dbcRepositoryFactoryBean.
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
2021-09-28 10:01:54 +02:00
Mark Paluch
ea0148dba5 Prepare 1.4 M3 (2021.1.0).
See #638
2021-09-17 09:44:33 +02:00
Christoph Strobl
e6ca0161ce Change visibility of PersistentEntitiesFactoryBean.
Also fix a javadoc parameter name mismatch along the way.

Closes: #651
2021-09-16 07:59:59 +02:00
Jens Schauder
72518d2bf3 Prepare 1.4 M2 (2021.1.0).
See #625
2021-08-12 15:02:56 +02:00
Mark Paluch
adfee8a297 Remove changelog shipped with the binaries.
Closes #631
2021-07-22 09:09:23 +02:00
Mark Paluch
a46b6751a5 Polishing.
Improve default converter setup by considering R2dbcCustomConversions.STORE_CONVERSIONS to register built-in converters in default configurations.

See #612
2021-07-22 09:07:38 +02:00
Mark Paluch
9b12bcec6e Defer PersistentEntity lookup until actual DTO conversion.
We now lazily instantiate DtoInstantiatingConverter to defer the entity lookup if needed.

Closes #612
2021-07-22 09:01:07 +02:00
Mark Paluch
60fd8420a9 Polishing.
Fix test.

See #628
2021-07-21 09:55:00 +02:00
Mark Paluch
efe46f46cd Improve documentation for Modifying annotation.
Outline that the usage of this annotation leads to calling Results.getRowsUpdated() to obtain the query method result value.

Closes #629
2021-07-21 09:25:46 +02:00
Mark Paluch
eea838cbed Deprecate R2dbcCustomConversions constructor taking Collection of converters.
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
2021-07-21 09:19:28 +02:00
Jens Schauder
d47d256e53 Prepare 1.4 M1 (2021.1.0).
See #584
2021-07-16 14:08:59 +02:00
Jens Schauder
fac386fd62 Updated changelog.
See #584
2021-07-16 14:08:48 +02:00
Jens Schauder
85baac1306 Updated changelog.
See #610
2021-07-16 10:48:18 +02:00
Jay Bryant
fe7308100a Editing.
See #616
Original pull request: #617.
2021-07-15 14:13:34 +02:00
Jens Schauder
7d858c95e4 Improve documentation about name handling.
Closes #616
Original pull request: #617.
2021-07-15 14:12:41 +02:00
Mark Paluch
8ef6fa416d Introduce OutboundRow.clone() method.
Closes #620.
2021-07-13 10:10:25 +02:00
Mark Paluch
e0d6130ac8 Updated changelog.
See #599
2021-06-22 16:07:26 +02:00
Mark Paluch
c01bd622aa Updated changelog.
See #598
2021-06-22 15:29:52 +02:00
Mark Paluch
b1f1aaf957 Fix dynamic query method projection.
Query methods returning dynamic projections based on a Class argument now properly apply projection conversion. Previously, classes not seen by the mapping context were skipped and that caused projecting query methods to return the actual entity type.

Closes #607
2021-06-22 11:21:53 +02:00
Mark Paluch
7b8c1bb0ea Polishing.
Rename method to renderForGeneratedValues to reflect its intended usage and enhance documentation.

Tweak Javadoc.

Closes: #483
Original pull request: #602.
2021-06-11 08:42:58 +02:00
Jens Schauder
c86825740b Registration of columns for generated keys is now dialect dependent.
Different R2DBC drivers expect generated keys when they are in camel case to be quoted or unquoted.
This can now be controlled by implementing `Dialect.renderForGeneratedKeys`.

Closes: #483
Original pull request: #602.
2021-06-11 08:27:15 +02:00
Mark Paluch
a3eb131bc7 Refine conversion directions between boolean and byte using MySQL/MariaDB.
ByteToBooleanConverter is now marked as reading converter and we've added a writing converter with BooleanToByteConverter to ensure proper conversion. Previously, all byte values were converted to boolean resulting in data precision loss.

Closes #589
2021-05-19 10:37:10 +02:00
Mark Paluch
3cefe0bc96 Updated changelog.
See #582
2021-05-14 12:36:38 +02:00
Mark Paluch
f6e2836009 Updated changelog.
See #581
2021-05-14 12:06:41 +02:00
Mark Paluch
673256199c Refactor query method execution to use R2dbcEntityTemplate.
Repository query methods are now executed through R2dbcEntityTemplate to participate in entity callbacks.
Previously, query methods were executed directly using DatabaseClient which didn't allow for entity callbacks.

Closes #591
2021-05-04 14:45:51 +02:00
Mark Paluch
56ec512515 Polishing.
Introduce assertions for OutboundRow.

Closes #593
2021-05-04 09:03:32 +02:00
Mark Paluch
016aab33f2 Correctly translate absent convertible enum values to String[] using Postgres.
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
2021-05-04 09:03:32 +02:00