Introduce caching for configured RowMapper/ResultSetExtractor.
We now create RowMapper/ResultSetExtractor instances only once if they are considered static configuration.
A configured RowMapper ref/class is always static.
A configured ResultSetExtractor ref/class is static when the extractor does not accept a RowMapper or if the RowMapper is configured.
Default mappers or projection-specific ones require ResultSetExtractor recreation of the ResultSetExtractor is configured as Class.
Reuse TypeInformation as much as possible to avoid Class -> TypeInformation conversion.
Introduce LRU cache for DefaultAggregatePath to avoid PersistentPropertyPath lookups.
Introduce best-effort quoted cache for SqlIdentifier to avoid excessive string object creation.
Closes#1721
Original pull request #1722
When the child of a one-to-one relationship has an id, the value for that id gets read in the wrong way.
We get the column name for that id use that to access the value in the RowDocument.
This results in either no value at all being found or even worse, the value of a root entity with a property of same name being accessed.
This is fixed by using the full AggregatePath instead of just the property for accessing that value.
Closes#1684
Original pull request: #1775
Construction of the back reference assumed that the table holding the parent of the foreign key is the actual parent property.
This is now corrected by using the correct API to identify the ancestor which holds the id.
Closes: #1692
Original pull request: #1773
We now derive queries against the domain type and no longer using the result type to ensure query mapping and query creation against the domain type.
Closes#1688
Timeout increased from the default because that cause problems on CI.
Brought SD JDBC now uses `ojdbc11` as R2DBC.
Closes#1665
Original pull request #1668
The latest Oracle JDBC driver properly supports returning of generated ids,
both in batches and for quoted identifiers.
This allows us to now support this feature.
Closes#1666
Original pull request: #1667
Merge basic converters into Mapping…Converters and introduce deprecated variant to provide guidance for migration off the deprecated types.
Cleanup no longer required code.
Original pull request #1618
See #1554
The failsafe plugin only fails during it's verify goal, not when actually executing the tests.
The goal is by default added to the verify phase.
But for the database tests this adds it to the integration-test phase.
This ensures that the build fail as soon a test for one database fails.
Closes#1637
BatchJdbcOperations is still there, but deprecated, and not used except for deprecated places kept for backward compatibility.
This is possible since Spring Framework made the features offered by `BatchJdbcOperations` part of `NamedParameterJdbcOperations`.
Closes#1616
Remove Jetbrains annotation usage.
Simplify code, remove code that is commented out, extract methods, pass PersistentEntity as argument instead of creating instances that hold PersistentEntity as field to align the class lifecycle with its contextual usage.
Refactor AggregateReader lifecycle, use a single instance as there is no entity-specific state attached to AggregateReader.
Add Javadoc.
See #1448
Original pull request: #1622