Commit Graph

76 Commits

Author SHA1 Message Date
Mark Paluch
eed7c9dcf7 Fix BLOB reading and writing.
We now correctly consider ByteBuffer, Clob, and Blob types as additional types to read and write blob data.

Closes #1408
2023-01-10 15:09:50 +01:00
Mark Paluch
3045225207 Extend license header copyright years to 2023.
See #1400
2023-01-02 09:53:43 +01:00
Jens Schauder
9d5c11e670 Upgrade postgres JDBC to 42.4.3.
Also remove separate postgresql version for R2DBC.

Closes #1390
2022-11-29 15:46:42 +01:00
Mark Paluch
8ed08e5e8e Prepare next development iteration.
See #1361
2022-11-18 14:30:19 +01:00
Mark Paluch
c244985b56 Release version 3.0 GA (2022.0.0).
See #1361
2022-11-18 14:26:23 +01:00
Christoph Strobl
5fbc68ef87 Add Nullable annotation to parameter of overridden equals method.
Closes #1374
Original pull request #1375
2022-11-11 16:05:59 +01:00
Mark Paluch
ae1bb6a448 Fix empty collection conversion.
We now consider the target type for empty collections.

Closes #1379
2022-11-11 16:00:44 +01:00
Mark Paluch
c7856d9fbb Upgrade to R2DBC drivers 1.0 GA.
Closes #1378
2022-11-11 09:36:14 +01:00
Jens Schauder
5349fde133 Replace New and Noteworthy with links to release notes.
Closes #1351
Original pull request #1352
See spring-projects/spring-data-commons#2723
2022-11-10 10:34:31 +01:00
Mark Paluch
dac1729713 Prepare next development iteration.
See #1366
2022-11-04 15:26:38 +01:00
Mark Paluch
06e40a3f30 Release version 3.0 RC2 (2022.0.0).
See #1366
2022-11-04 15:23:17 +01:00
Mark Paluch
541eee7c8b Guard integration tests against known not-working OS variants.
Closes #1371
2022-10-31 15:02:59 +01:00
Mark Paluch
61dcc5168b Prepare next development iteration.
See #1333
2022-10-13 17:31:15 +02:00
Mark Paluch
99ac540555 Release version 3.0 RC1 (2022.0.0).
See #1333
2022-10-13 17:24:26 +02:00
Jens Schauder
58bf5566b6 Dependency tests are now based on ArchUnit.
Replaced ignored tests with exclusion of packages and classes.
Upgraded ArchUnit dependency to 1.0.0.

Closes #1354
2022-10-10 13:27:59 +02:00
Jens Schauder
6bdc7db24b Offer a proper replacement for NamingStrategy.INSTANCE.
Closes #1350
2022-10-07 16:24:47 +02:00
Mark Paluch
795e244511 Polishing.
Do not expose setForeignKeyNaming methods on NamingStrategy to make less assumptions about how a naming strategy gets implemented. Provide getRequiredLeafEntity method on PersistentPropertyPathExtension to reduce null and state assertion checks.

Refine getTableName/getQualifiedTableName approach to reduce API surface and avoid deprecations.

See #1147
Original pull request: #1324.
2022-10-07 09:17:27 +02:00
Jens Schauder
40446f9ca9 The back reference generation is now configurable.
The default version is the behavior that existed so far:
The back reference is the table name as generated by the `NamingStrategy` without taking `@Table` annotations into account.

The new alternative is to take `@Table` into account.

The behavior can be configured by setting the `foreignKeyNaming` property on the `RelationalMappingContext`.

Closes #1161
Closes #1147
Original pull request: #1324.
2022-10-07 09:17:05 +02:00
Jens Schauder
004804aad8 Introduce @InsertOnlyProperty.
You may now annotate properties of the aggregate root with `@InsertOnlyProperty`.
Properties annotated in such way will be written to the database only during insert operations, but they will not be updated afterwards.

Closes #637
Original pull request #1327
2022-10-06 12:54:33 +02:00
Jens Schauder
e171d4b91b Remove non-Javadoc comments.
These are no longer serve their purpose.

Closes #1347
2022-10-05 15:34:11 +02:00
Jens Schauder
ea00369f07 Add support for factory methods.
R2DBC now supports the use of factory methods for entity creation.
Spring Data JDBC already does so via f326897950

Simply annotate a static factory method on your entity class with `@PersistenceCreator`.

Closes #1346
See https://github.com/spring-projects/spring-data-commons/issues/2476
See f326897950
2022-10-05 15:34:10 +02:00
Jens Schauder
f326897950 Removed deprecations.
Removed deprecated API and usasage of deprecated API.

Closes #1340
2022-09-28 12:02:46 +02:00
Spring Builds
3ab0731fe4 Prepare next development iteration.
See #1295
2022-09-19 14:39:01 +00:00
Spring Builds
22618431d8 Release version 3.0 M6 (2022.0.0).
See #1295
2022-09-19 14:15:28 +00:00
Mark Paluch
3f1dab93e4 Adopt to changed Mockk artifact name.
Closes #1326
2022-09-12 11:16:58 +02:00
Jens Schauder
bf356f561d Clarify documentation for @Modifying.
Modifying queries are executed directly against the database.
No events or callbacks get called.
Therefore also fields with auditing annotations do not get updated if they don't get updated in the annotated query.

Closes #970
2022-09-08 15:31:17 +02:00
Joshua Sattler
f5989e1cfc Simplify code in mapping example.
Original pull request #1319
2022-08-29 09:07:48 +02:00
Mark Paluch
b46e34263e Fix COUNT/EXISTS projections for entities without an identifier.
We now issue a COUNT(1) respective SELECT 1 for COUNT queries and EXISTS queries for entities that do not specify an identifier.

Previously these query projections could fail because of empty select lists.

Closes #1310
2022-08-18 12:06:03 +02:00
Mark Paluch
92e77a47c9 Retain element ordering in AfterConvertCallbacks.
We now use concatMap on result Fluxes to retain the object order. Previously, we used flatMap on a flux that has led to changes in element ordering.

Closes #1307
2022-08-16 11:21:07 +02:00
Mark Paluch
e246cc4f59 Fix parameter binding of reused named parameters using anonymous bind markers.
We now properly bind values for reused named parameters correctly when using anonymous bind markers (e.g. ? for MySQL). Previously, the subsequent usages of named parameters especially with IN parameters were left not bound.

Closes #1306
2022-08-16 11:06:30 +02:00
Mark Paluch
0d1ba211c5 Polishing.
Reuse H2 dialect settings in R2DBC-specific H2 dialect.
Refactor ArrayColumns support classes, into toplevel-types. Let R2DBC H2 sublass the relational H2Dialect to decouple from Postgres.

See #1287
Original pull request #1297
2022-08-10 13:01:02 +02:00
dependabot[bot]
d4fe31a9e8 Upgrade to postgresql 42.4.1.
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.4.0 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.4.0...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Closes #1302
2022-08-08 09:43:45 +02:00
Jens Schauder
fcbecda414 Remove the namespace reference and links to it.
Closes #1290
See https://github.com/spring-projects/spring-data-commons/issues/2662
Original pull request #1298
2022-07-26 10:16:02 +02:00
Christoph Strobl
6b9f49e86a Prepare next development iteration.
See #1247
2022-07-15 15:30:49 +02:00
Christoph Strobl
92150f721d Release version 3.0 M5 (2022.0.0).
See #1247
2022-07-15 15:18:32 +02:00
Mark Paluch
3f256047fd Polishing.
Update tests to work with SQL server inserts.

See #1292
2022-07-15 09:08:15 +02:00
Mark Paluch
f442261936 Upgrade to R2DBC MSSQL 1.0.0.RC1.
Enable tests for SQL Server.

See #1292
2022-07-14 11:37:57 +02:00
Jens Schauder
6958157a7e Use TypeScanner instead of ClassPathScanningCandidateComponentProvider.
Closes #1288
2022-07-13 16:02:04 +02:00
Mark Paluch
df9cecbdcf Polishing.
Adopt to improved naming scheme for runtime hints.

See #1269
2022-07-13 15:03:41 +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
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
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
09c3088a78 Upgrade MariaDb Docker image to 10.8.3
Closes #1282
2022-07-04 12:37:46 +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