Commit Graph

1674 Commits

Author SHA1 Message Date
Mark Paluch
df9cecbdcf Polishing.
Adopt to improved naming scheme for runtime hints.

See #1269
2022-07-13 15:03:41 +02:00
Jens Schauder
aad40a32b0 Polishing.
Added `@since` comments for new methods and classes.
General formatting and code style tweaking.
Github references for new tests added.
Fixes for integration tests with various databases:
- Not all stores support submillisecond precision for Instant.
- Count for exists query doesn't work for all databases, nor does `LEAST(COUNT(1), 1)`
- MariaDB defaults timestamp columns to the current time.
- Ordering was applied twice.
- DATETIME in SqlServer has a most peculiar preceision. We switch to DATETIME2.

Original pull request #1195
See #1192
2022-07-13 12:55:06 +02:00
Jens Schauder
27e2aa285a Documentation for Query By Example.
Original pull request #1195
See #1192
2022-07-13 12:54:53 +02:00
Jens Schauder
86f0140f79 Moved QueryMapper.
The use of QueryMapper caused dependency cycles.

Original pull request #1195
See #1192
2022-07-13 12:54:42 +02:00
Diego Krupitza
a6fb4df590 Support for Query By Example.
Original pull request #1195
Closes #1192
2022-07-13 12:54:07 +02:00
Mark Paluch
ee6c2c89b5 Upgrade to R2DBC 1.0.
Removed SQL Server and MariaDB tests for the time being until drivers are available.

Closes #1292
2022-07-13 12:10:04 +02:00
Christoph Strobl
1467d63f61 Simplify auditing setup
Use IsNewAwareAuditingHandler factory method to avoid exposing additional beans.

See: #1279
2022-07-08 11:21:37 +02:00
Mark Paluch
b71e3b9697 Polishing.
Refine name and visibility of runtime hints registrars.

See #1279
see #1269
2022-07-07 09:01:39 +02:00
Mark Paluch
70eca3a2ca Add support for R2DBC RelationalManagedTypes.
See #1279
2022-07-06 15:27:40 +02:00
Mark Paluch
58bb158004 Add support for RelationalManagedTypes.
See #1269
2022-07-06 15:27:40 +02:00
Christoph Strobl
59a1761dbc Add AOT r2dbc repository support.
We now use the AOT infrastructure of Spring Framework 6 and data commons to provide AOT support building the foundation for native image compilation.
Additionally we register hints for GraalVM native image.
Also update r2dbc auditing configuration to avoid inner bean definitions.

See: #1279
2022-07-06 15:01:52 +02:00
Christoph Strobl
6943cfa659 Add AOT jdbc repository support.
We now use the AOT infrastructure of Spring Framework 6 and data commons to provide AOT support building the foundation for native image compilation.
Additionally we register hints for GraalVM native image.
Update auditing configuration to avoid inner bean definitions.

See: #1269
2022-07-05 12:32:19 +02:00
Christoph Strobl
dd3a69c20d Adopt to Reactor 2022 changes.
Closes: #1285
2022-07-05 12:30:48 +02:00
Jens Schauder
ce68431b49 Upgrade SQL Server JDBC driver to 10.2.1.jre17
Closes #1284
2022-07-04 16:09:02 +02:00
Jens Schauder
dd663384ac Upgrade MS SQL Server Docker image version to 2019-CU16-ubuntu-20.04
Closes #1283
2022-07-04 15:13:32 +02:00
Jens Schauder
09c3088a78 Upgrade MariaDb Docker image to 10.8.3
Closes #1282
2022-07-04 12:37:46 +02:00
Jens Schauder
1e24903398 Upgrade H2 JDBC Driver to 2.1.214.
Closes #1273
2022-06-23 16:25:36 +02:00
Jens Schauder
fbd44bd349 Upgrade DB2 Docker image to 11.5.7.0a.
Closes #1272
2022-06-23 16:25:36 +02:00
Jens Schauder
a271c43c83 Upgrade MySql Docker image to version 8.0.29.
Closes #1271
2022-06-23 14:53:40 +02:00
Jens Schauder
3dc3f98ec2 Upgrade Oracle JDBC driver to the latest working version.
Turns out the latest working version for Spring Data JDBC is ojdbc8 19.15.0.0.1. ojdbc11 or later versions of ojdbc8 contain a bug that breaks batching.

Since Spring Data R2DBC only uses the driver for testing. fFor it the latest working version is ojdbc11 21.6.0.0.1.

Closes #1270
2022-06-22 16:13:16 +02:00
Jens Schauder
a263d992b7 Upgrade Oracle Docker image to version 21.3.0-slim
Closes #1268
2022-06-21 12:56:49 +02:00
Jens Schauder
0b686ef3a7 Upgrade PostgreSql Docker image to version 14.3
Closes #1267
2022-06-21 11:27:53 +02:00
Jens Schauder
e151a84d6e Upgrade PostgreSql JDBC driver to 42.4.0
Closes #1266
2022-06-21 09:49:38 +02:00
Jens Schauder
d40c540be5 Upgrade to mysql connector 8.0.29
Closes #1265
2022-06-21 09:38:53 +02:00
Jens Schauder
ed7853d2d0 Polishing.
Original pull request #1231
See #537
2022-06-20 15:07:54 +02:00
Chirag Tailor
1a283fa406 Add DeleteBatchingAggregateChange to batch DeleteRoot actions.
Original pull request #1231
See #537
2022-06-20 15:06:46 +02:00
John Blum
483b30e8c2 Remove punctuation in Exception messages.
Closes #1259.
2022-06-08 12:16:37 -07:00
Jens Schauder
6911bfba98 Polishing.
Introduces the BatchedActions abstraction to encapsulate the different ways singular actions get combined into batched actions.

Original pull request #1230
Original pull request #1229
Original pull request #1228
Original pull request #1211
2022-06-08 14:54:19 +02:00
Chirag Tailor
64a07e608d Add DeleteBatchingAggregateChange to batch deletes when deleting multiple aggregate roots.
+ Rename DefaultAggregateChange to DeleteAggregateChange.

Original pull request #1230
2022-06-08 14:54:19 +02:00
Jens Schauder
cf6e174088 Polishing.
Original pull request #1229
2022-06-08 14:54:18 +02:00
Chirag Tailor
aa1610d381 Update SaveBatchingAggregateChange to batch Delete actions.
Original pull request #1229
2022-06-08 14:53:51 +02:00
Jens Schauder
64d9bbbd55 Polishing.
Original pull request #1228
2022-06-08 14:53:51 +02:00
Chirag Tailor
ec3cec3be3 Update SaveBatchingAggregateChange to batch InsertRoot actions.
Original pull request #1228
2022-06-08 14:53:30 +02:00
Jens Schauder
c1164383d6 Polishing.
Original pull request #1211
2022-06-08 14:53:30 +02:00
Chirag Tailor
6b02a4e627 Add SaveMergedAggregateChange which merges AggregateChangeWithRoot changes into one.
Remove behavior from WritingContext for creating InsertBatch in favor of SaveMergedAggregateChange.

Update all save paths to use SaveMergedAggregateChange.

+ Update #populateIdsIfNecessary return type from T to List<T>

Pull out an abstract BatchWithValue class from InsertBatch to use it for batching root inserts as well.

Rename InsertBatch to BatchInsert
Rename AggregateChangeWithRoot to RootAggregateChange.

Original pull request #1211
2022-06-08 14:48:51 +02:00
Mark Paluch
d3d05039da Update CI properties.
See #1247
2022-06-03 09:34:21 +02:00
Mark Paluch
f038cf2af0 Upgrade to Maven Wrapper 3.8.5.
See #1256
2022-06-03 09:32:52 +02:00
Jens Schauder
63b0f5a01a Polishing.
See #1254
2022-06-01 12:46:20 +02:00
Jens Schauder
a5238fac85 Reestablish previous exception behavior.
When saving an Aggregate which is not new, but has a null version attribute we now throw a DbActionExecutionException, like we used to.

Closes #1254
2022-06-01 12:46:20 +02:00
Jens Schauder
ac583991ac Polishing.
Refactoring and code aesthetics.

See #1249
Original pull request #1250
2022-05-23 10:42:32 +02:00
Jens Schauder
dcd4ef0cdc Support readonly properties for references.
The `@ReadOnlyProperty` annotation is now honoured for references to entities or collections of entities.

For tables mapped to such annotated references, no insert, delete or update statements will be created.
The user has to maintain that data through some other means.
These could be triggers or external process or `ON DELETE CASCADE` configuration in the database schema.

Closes #1249
Original pull request #1250
2022-05-23 10:42:31 +02:00
Jens Schauder
274fcd7e87 Polishing.
Original pull request #1226
See #1212
2022-05-17 14:43:58 +02:00
Chirag Tailor
64a7c5595a Update @Query argument conversion to handle Collection<Enum>.
+ 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 #1226
Closes #1212
2022-05-17 14:43:04 +02:00
John Blum
0dcd870e6a Remove Docker Registry login.
Closes #1248.
2022-05-16 11:23:03 -07:00
Jens Schauder
e6ff3859ed Drop support for H2 1.x.
Closes #1243
2022-05-16 14:00:09 +02:00
Christoph Strobl
76983827d5 Fix pom.xml formatting.
This commit reverts formatting changes introduced via fd86f429e7.

See #1206
2022-05-13 13:52:11 +02:00
Christoph Strobl
4ec8ac2667 After release cleanups.
See #1206
2022-05-13 10:53:27 +02:00
Christoph Strobl
b671f48a2c Prepare next development iteration.
See #1206
2022-05-13 10:53:24 +02:00
Christoph Strobl
4e82d9d496 Release version 3.0 M4 (2022.0.0).
See #1206
2022-05-13 10:44:01 +02:00
Christoph Strobl
fd86f429e7 Prepare 3.0 M4 (2022.0.0).
See #1206
2022-05-13 10:43:21 +02:00