SpEL expressions in queries get processed in two steps:
1. First SpEL expressions outside parameters are detected and processed.
This is done with a `StandardEvaluationContext` with the variables `tableName` and `qualifiedTableName` added.
This step is introduced by this commit.
2. Parameters made up by SpEL expressions are processed as usual.
Closes#1856
Original pull request #1863
Fixing a test used for performance reasons.
Formatting a test.
Removing public modifier.
Separating test methods from infrastructure.
Original pull request #1863
See #1856
In some cases, we currently use the traditional `instanceof` checks followed by explicit type casting.
With the introduction of pattern matching in recent Java versions, we can refactor these checks to make the code more concise and readable.
Original pull request #1868
Refactor convertAndAddParameter method to writeValue(…) decoupling responsibilities for a clearer value conversion code path. Also, refactor collection conversion to functional callback-style and extend test assertions.
See #1323
Original pull request: #1838
JdbcRepositoryEmbeddedIntegrationTests no longer runs for all databases, since it doesn't tests anything specific to differen RDBMSs.
Therefore the test also got renamed.
See #1565
MappingJdbcConverter previously tried to create a JdbcValue for simple values via the ConversionService, only to drop the conversion result if the conversino did not result in a JdbcValue eventually. In that case it triggered an additional (same) conversion to then handle the wrapping of the conversion result into a JdbcValue manually.
This commit alters the flow so that it only triggers the conversion once and manually applies the JdbcValue wrapping only if the result of the original conversion is not a JdbcValue, yet.
Original pull request #1830
The reason for auditing to not work on embedded fields is that EmbeddedRelationalPersistentProperty and BasicRelationalPersisntentProperty were not considered equal even when they represent the same field.
Note: the fix is somewhat hackish since it breaks the equals contract for EmbeddedRelationalPersistentProperty.
Closes#1694
See 1545e184ef
We now use one pooled `DataSource` for Oracle.
This should avoid problems with the TNS-Listener, which seems to have a problem with constantly opening and closing connections.
Closes#1815
Original pull request #1816
Embedded entities which contain a empty collection of values that aren't entities are now considered empty, if this collection is empty.
Closes#1737
Original pull request: #1812
In an aggregate A->B-Collection<C> a select gets executed for loading Collection<C>.
That select used the wrong ID when B had an ID with the same name as A.
This is now fixed.
Closes#1802
Original pull request: #1810