No longer throw TransientDataAccessResourceException if R2DBC update does not yield any updated rows.
Remove mentions of IncorrectUpdateSemanticsDataAccessException, add mention of OptimisticLockingFailureException to affected methods.
Consistent OptimisticLockingFailureException exception message.
See #2176
Original pull request: #2185
When an update results in 0 updated rows (without optimistic locking) we now ignore it, instead of throwing an exception.
The reason is that at least some databases return 0 when a row for updating was found, but none of the values changed.
Closes#2176
Original pull request: #2185
Since both the Query and the Pageable have limit, offset and sorting information, these methods are confusing and the strategy to resolve the conflict is not clear.
Existing code using the methods got replaced.
Users of these methods should use the various findAll and findBy methods to construct Page objects as desired.
Closes#2138
Original pull request #2161
We now provide an extension to directly run queries constructed from a derived query method to avoid leaking internals into AOT-generated code.
Closes#2140
We now provide AOT support to generate repository implementations during build-time for JDBC repository query methods.
Supported Features
Derived query methods, @Query and named query methods
* @Modifying methods returning void, int, and long
* Pagination, Slice, Stream, and Optional return types
* DTO and Interface Projections
* Value Expressions
Excluded methods
* CrudRepository, Querydsl, Query by Example, and other base interface methods as their implementation is provided by the base class respective fragments
* Methods whose implementation would be overly complex
* Methods accepting ScrollPosition (e.g. Keyset pagination)
Closes: #2121
Original pull request: #2124
Replace nullability annotations with their JSpecify equivalents.
Enable checking this annotations at compile time using Errorprone and NullAway.
Closes#1980
Original pull request: #2126
Aggregate references must be valid on their own and a null reference would represent a broken reference as we consider null identifiers as transient.
Closes#2104
Simplify JdbcArrayColumns from a dialect. Simplify DataAccessStrategyFactory creation. Remove superfluous overrides.
See #687
Original pull request: #1704
Consistently configure components using JdbcAggregateOperations. Reorder methods, refine dependency lookups. Refine JdbcAggregateTemplate dependency setup for easier object creation.
Extend tests. Refine bean names to provide naming hints for easier bean lookup in case multiple beans are registered for the same type.
See #687
Original pull request: #1704
The target type for the conversion of the complete collection gets adapted when a custom conversion was applied to the elements.
Also `JdbcValue` elements as a result of a custom conversion get unwrapped.
Closes#2078
Original pull request: #2081
Use Standard Exception handling for JDBC SQLException. Introduce easier and consistent mechanism to construct JdbcCustomConversions. Add tests and fix mocking setup. Fix typos.
See #1828
Original pull request #2062