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
Remove package-info for package without sources. Remove ci profile from initial build steps to avoid duplicate tasks. Remove unused asciidoctor plugin.
See #1742
Add Geometry super-type only as subtypes are considered simple types already. Ensure reflective simple type AOT registration.
Original pull request: #1713
See #1711
We now consider converters for RowDocument. Additionally, we reinstated conversion from R2DBC's Row type into entities as that converter functionality got lost during the converter revision.
Closes#1710
Replace the deprecated `NamingStrategy.getReverseColumnName(PersistentPropertyPathExtension path)` with `getReverseColumnName(RelationalPersistentEntity<?> owner)`
Closes#1693
Using as with an interface that is implemented by the entity, we no longer attempt to instantiate the interface bur use the entity type instead.
Closes#1690