Commit Graph

828 Commits

Author SHA1 Message Date
Jens Schauder
bc0d307415 SQL type used in array construction depends on Dialect.
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.
2021-09-30 14:35:03 +02:00
Mark Paluch
b5b143448b Refine CI triggers.
See #1054
2021-09-29 14:11:25 +02:00
Mark Paluch
22e57fdffc Polishing.
See #1022
Original pull request: #1039.
2021-09-28 15:53:20 +02:00
Jens Schauder
cc6859b8b8 Fixes annotated named queries.
@Query.name wasn't considered when trying to find a named query for a query method.

Closes #1022
Original pull request: #1039.
2021-09-28 15:53:10 +02:00
Mark Paluch
660a44e888 Polishing.
See #1009
Original pull request: #1015.
2021-09-28 15:08:24 +02:00
Jens Schauder
520134dc73 Conditions with SimpleExpressions get properly rendered.
This commit contains just a test to verify this.
The actual fix happened as part of #1018.

Closes #1009.
Original pull request #1015
See #1018
2021-09-28 15:08:24 +02:00
Mark Paluch
9844f40580 Polishing.
Reformat code. Add since tag.

See #995
Original pull request: #1014.
2021-09-28 14:56:02 +02:00
Jens Schauder
82c70ab99f Allow for arbitrary conditions as join condition.
Closes #995.
Original pull request: #1014.
2021-09-28 14:55:36 +02:00
Mark Paluch
d47020d868 Polishing.
Reformat code. Remove duplicate, lingering Javadoc. Add override annotations. Use entities instead of < and >. Reduce method/class visibility in tests.

See #1003
Original pull request: #1018.
2021-09-28 10:50:51 +02:00
Jens Schauder
f6eacf327c Support for in line queries for tables.
`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.
2021-09-28 10:50:51 +02:00
Jens Schauder
0d03b5928b Add Java 17 verification to CI pipeline.
Closes #1054
2021-09-22 09:35:42 +02:00
Mark Paluch
429eb5b8e9 After release cleanups.
See #1026
2021-09-17 09:52:21 +02:00
Mark Paluch
562561b93c Prepare next development iteration.
See #1026
2021-09-17 09:52:18 +02:00
Mark Paluch
a0cdb079d5 Release version 2.3 M3 (2021.1.0).
See #1026
2021-09-17 09:44:56 +02:00
Mark Paluch
fcbce58f9a Prepare 2.3 M3 (2021.1.0).
See #1026
2021-09-17 09:44:34 +02:00
Mark Paluch
6824f85fda Upgrade to Maven Wrapper 3.8.2.
See #1044
2021-09-10 15:37:56 +02:00
Jens Schauder
c7b629a5b0 Deprecate defunct SimpleCondition.
SimpleCondition was defunct and is now deprecated.
An equivalent convenience function is added to Comparison.

Closes #1034
2021-08-26 13:28:28 +02:00
Andrei Bocan
aa51d637fb Fix typo in Query Methods documentation.
Original pull request #1030
2021-08-25 14:31:31 +02:00
Christoph Strobl
d5e54b2036 Change visibility of JdbcRepositoryFactoryBean setters.
Setters of the FactoryBean are now public.

Closes #1031
2021-08-24 14:09:49 +02:00
Jens Schauder
04e889d8be After release cleanups.
See #1012
2021-08-12 15:16:23 +02:00
Jens Schauder
aa1e3b44b1 Prepare next development iteration.
See #1012
2021-08-12 15:16:21 +02:00
Jens Schauder
4b6ed3b17c Release version 2.3 M2 (2021.1.0).
See #1012
2021-08-12 15:03:17 +02:00
Jens Schauder
7dcab94cf7 Prepare 2.3 M2 (2021.1.0).
See #1012
2021-08-12 15:02:55 +02:00
Mark Paluch
f997a611d8 Polishing.
Remove Jackson in favor of JsonHolder and PGobject usage within the domain model. Convert spaces to tabs. Reorder methods and classes.

See #920
Original pull request: #1008.
2021-07-20 16:09:47 +02:00
Nikita Konev
d1e8e722c1 Consider PGobject as simple type.
Closes #920
Original pull request: #1008.
2021-07-20 16:09:38 +02:00
Jens Schauder
29d4f1ebde After release cleanups.
See #967
2021-07-16 14:19:57 +02:00
Jens Schauder
b0996802d3 Prepare next development iteration.
See #967
2021-07-16 14:19:55 +02:00
Jens Schauder
5ed1a4a6d1 Release version 2.3 M1 (2021.1.0).
See #967
2021-07-16 14:09:25 +02:00
Jens Schauder
abefeb83ed Prepare 2.3 M1 (2021.1.0).
See #967
2021-07-16 14:08:58 +02:00
Jens Schauder
d39edb831c Updated changelog.
See #967
2021-07-16 14:08:33 +02:00
Jens Schauder
283fad3016 Updated changelog.
See #990
2021-07-16 10:48:16 +02:00
Mark Paluch
7d67f30bbd Polishing.
Tweak method names. Rebase onto main. Convert issue references to GH- from hash prefixed ones. Remove final keyword from variable and parameter declarations.

Original pull request: #999.
See #987
2021-07-15 12:04:53 +02:00
Jens Schauder
11734c1bcc Support AggregateReference in query derivation.
For a property of type AggregateReference one may provide an aggregate, an AggregateReference, or the id of the aggregate.

Closes #987
Original pull request: #999.
2021-07-15 12:04:53 +02:00
Mark Paluch
4f4014dc8e Polishing.
Hide actual converters by making these private classes, expose factory method to construct converters. Avoid stream API usage on converter code paths. Remove unused imports. Clean up tests.

Original pull request: #993.
See #992
2021-07-15 11:49:16 +02:00
Jens Schauder
221d11324f Convert AggregateReference by converters instead of custom code paths.
Closes #992
Original pull request #993
2021-07-15 11:49:07 +02:00
Jens Schauder
340e8c6648 Clarify transactional defaults and recommendations.
Closes #1000
2021-07-13 08:19:25 +02:00
Jens Schauder
95b2db5d5f Applying changes to documentation.
As suggested by Jay Bryant.

Original pull request #903
See #578, #971
2021-07-05 09:12:46 +02:00
Jens Schauder
884332871e Unifying GitHub references to GH-nnn.
Original pull request #903
See #578
2021-07-02 11:07:27 +02:00
Jens Schauder
377d841284 Add documentation for streaming results.
Also us Github issue numbers on tests.

Original pull request #903
See #578, #971
2021-07-02 11:06:56 +02:00
Dennis Effing
c416d3d0ea Add support for streamed query results.
Use queryForStream for streamed query results.
Since ResultSetExtractor cannot be reasonably be used together with streams it falls back to the existing collection behaviour.

Closes #578
Original pull request #903
2021-07-02 11:06:38 +02:00
Mark Paluch
d0a1e19099 Updated changelog.
See #977
2021-06-22 16:07:24 +02:00
Mark Paluch
b3281b5ae7 Updated changelog.
See #976
2021-06-22 15:29:50 +02:00
Jens Schauder
c3e21cc799 Improving the documentation.
See #908
Original pull request #983
2021-06-10 14:41:41 +02:00
Jens Schauder
4c6894464e Fix derived queries with boolean literals.
`IsTrue` and `IsFalse` queries no longer use a literal in the query, but a bind parameter.
This allows Spring Data JDBC or the JDBC driver to convert the passed boolean value to whatever is required in the database.

For Oracle converter where added to support storing and loading booleans as NUMBER(1,0) where 0 is false and everything else is true.

Closes #908
Original pull request #983
2021-06-10 14:41:41 +02:00
Jens Schauder
8652418245 Do not convert from LocalDateTime to Timestamp by default.
Most supported databases don't need that conversion.

Db2 does need it and gets it through JdbcDb2Dialect.

As part of the effort it became obvious that the filtering for conversions between Date and JSR310 data types was broken.
It is fixed now, which required a dedicated reading conversion from LocalDateTime to Date for JdbcMySqlDialect.

Closes #974
Original pull request: #985.
2021-06-10 14:00:17 +02:00
Jens Schauder
2c413a2d3b Polishing.
See #934
2021-06-01 14:38:48 +02:00
Jens Schauder
672029d97c Document the usage of AggregateReference.
Closes #934
2021-06-01 14:38:36 +02:00
Christoph Strobl
35589af3d3 Avoid conversion warnings for store specific simple types.
Dialects now can define a set of known simple types the driver can handle without further interaction. This is done to avoid warnings during converter registration for types known in one environment but not the other.
Also move types around a bit, change visibility and make sure jdbc specific dialects inherit converters from their parents.

Original pull request #981
See #935
2021-05-31 12:03:50 +02:00
Jens Schauder
6114d8e1fd Polishing.
Removes superfluous method.
Applied feedback from review: Formatting, Naming, and improved backward compatibility.

Originial pull request #981
See #935
2021-05-31 12:03:17 +02:00
Jens Schauder
33f08f7253 Support for Dialect specific custom conversions and OffsetDateTime.
Dialects may now register a list of converters to take into consideration when reading or writing properties.

See `JdbcSqlServerDialect` for an example.

By default `OffsetDateTime` does not get converted anymore.
If a database needs a conversion it can register it by implementing `Dialect.getConverters()` as described above.

Closes #935
Original pull request #981
2021-05-31 11:59:32 +02:00