Commit Graph

50 Commits

Author SHA1 Message Date
Mark Paluch
d6e00a8734 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:56 +01:00
Mark Paluch
5d3e737393 Extend license header copyright years to 2023.
See #1398
2023-01-02 09:50:19 +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
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
541eee7c8b Guard integration tests against known not-working OS variants.
Closes #1371
2022-10-31 15:02:59 +01: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
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
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
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
09c3088a78 Upgrade MariaDb Docker image to 10.8.3
Closes #1282
2022-07-04 12:37:46 +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
John Blum
483b30e8c2 Remove punctuation in Exception messages.
Closes #1259.
2022-06-08 12:16:37 -07:00
Mark Paluch
f6e7792094 Polishing.
Introduce Query.isLimited method to avoid magic numbers.

See #1233
Original pull request: #1233.
2022-04-29 11:06:40 +02:00
Robert Heim
76ed7e23e4 Do not override existing limit in R2dbcEntityTemplate.selectOne.
Closes #1233
2022-04-29 11:00:41 +02:00
Mark Paluch
1ae5174c4c Remove …ConverterOverride converters in favor of R2dbcCustomConversionsConfiguration converter filters.
Closes #1225
2022-04-20 14:34:49 +02:00
Mark Paluch
2831685c9d Adopt to Spring R2DBC changes.
Update counts now return Long instead of Integer.

Closes #1198
2022-03-18 08:56:09 +01:00
Mark Paluch
05e96557bd Associate value with isTrue/isFalse criteria operators.
We now associate a boolean value with both operators as those operators are rendered using equals comparison in the actual SQL text.

Orginal pull request #1188
2022-03-01 14:41:14 +01:00
Jens Schauder
eabcee7c4e Polishing.
Standardized GitHub references of tests.

Original pull request spring-projects/spring-data-r2dbc/pull/691
2022-02-23 11:00:55 +01:00
Jens Schauder
36c332bf87 Polishing.
Refactored the assertions towards a custom assertion class, taking care of limited parsing of the generated SQL statements.

Original pull request spring-projects/spring-data-r2dbc/pull/691
2022-02-23 11:00:55 +01:00
Auzel
15f46e42c2 Fixes flaky tests in PartTreeR2dbcQueryUnitTests.java
The order of selected columns depended on the nondeterministic behavior of getDeclaredFields.

Original pull request spring-projects/spring-data-r2dbc/pull/691
2022-02-23 10:49:04 +01:00
Jens Schauder
56ece619d2 Polishing.
See spring-projects/spring-data-jdbc/issues/1041
Original pull request spring-projects/spring-data-r2dbc/pull/720
2022-02-22 16:17:22 +01:00
Diego Krupitza
910c34014d Introduced pessimistic locks for derived queries.
Methods which use the derive query functionality now can be annotated with `@Lock` to used a given `LockMode`. Right now there are two different modes `PESSIMISTIC_READ` and `PESSIMISTIC_WRITE`. Based on the dialect the right select is generated. For example for H2 `Select ... FOR UPDATE`.

Closes spring-projects/spring-data-jdbc#1041
See #643,
Original pull request spring-projects/spring-data-jdbc/pull/1158
2022-02-22 16:17:22 +01:00
Mark Paluch
71cad5ff2c Polishing.
Align Oracle container versions for testing.

See #1179
2022-02-21 13:31:57 +01:00
Mark Paluch
9a42776381 Import Spring Data R2DBC module into Spring Data Relational.
Closes #1179
2022-02-21 10:43:01 +01:00
Mark Paluch
824885e2ad Add 'spring-data-r2dbc/' from commit '6289f4de9bf89f1d371ea3ae8810865a20beca9c'
git-subtree-dir: spring-data-r2dbc
git-subtree-mainline: c1c38a71d6
git-subtree-split: 6289f4de9b
2022-02-21 10:26:05 +01:00
Mark Paluch
d23c43882b DATAJDBC-272 - Update readme files according to module split. 2018-10-17 12:41:42 +02:00
Mark Paluch
6a60c53602 DATAJDBC-272 - Split Spring Data JDBC project into modules. 2018-10-17 12:40:51 +02:00