+ Copy logic from QueryMapper#convertToJdbcValue to resolve Iterable
arguments on findBy* query methods to resolve the same for @Query.
+ Use parameter ResolvableType instead of Class to retain generics info.
Original pull request #1226Closes#1212
Changed default behaviour to an empty name for embedded entities.
This allows to use embedded entities for column tuples without special prefix.
Original pull request #1149
Table alias for embedded entity use prefix value from Embedded annotation. But default value for prefix is empty string. If try to create SqlIdentifier for empty string it throw exception. To avoid this behavior, if prefix is an empty string, property name for embedded entity is taken instead.
With older versions H2 returned a proprietary instance of `TimestampWithTimeZone` from `ResultSet.getObject()`.
We used to support the conversion of that to an `OffsetDateTime`.
With the most recent versions `TimestampWithTimeZone` is no longer part of the H2 driver, and we only register the converter when we encounter older versions of H2.
Closes#1114
See https://github.com/h2database/h2database/pull/1359
The new Testcontainers version comes with a standard Oracle image configured and doesn't work with the one we used so far.
Making the standard image work required some tweaks to the setup so that the test user has the required privileges.
Closes#1081
This is to replace the AfterLoadCallback/Event in order to match the naming of other store modules.
AfterLoadCallback/Event is still in place for now, but deprecated.
Closes#1053
Original pull request: #1060.
Postgres requires the non standard type "FLOAT8" for "DOUBLE".
This is accomplished by making the conversion dependent on the dialect.
This required a new JdbcDialect interface in order to keep the JDBC annotation out of the relational module.
Closes#1033
Original pull request: #1037.
`InlineQuery` can be used wherever a `Table` was used up to now.
```
Table one = ...;
Select select = Select.builder()
.select(one.column("id"), employee.column("name"))
.from(one)
.build();
InlineQuery inline = InlineQuery.create(select, "inline");
Select select = Select.builder()
.select(inline.column("id"), inline.column("name"))
.from(inline)
.build();
```
Join and From renderer now use the same FromTableVisitor.
Also the SelectListVisitor reuses now the ExpressionVisitor.
Fixes#1003
Original pull request: #1018.