Commit Graph

654 Commits

Author SHA1 Message Date
Jens Schauder 6eed53fd3c Remove code duplication.
Mainly reimplements the changes undone in 49e343fe8a.
The check for presence of the ID property is implemented for all variants for save, as it should.

See #1924
Original pull request #1925
2024-11-18 13:28:06 +01:00
Mark Paluch ff6717a0bd Prepare next development iteration.
See #1916
2024-11-15 14:13:08 +01:00
Mark Paluch 2bda8fec26 Release version 3.4 GA (2024.1.0).
See #1916
2024-11-15 14:10:52 +01:00
Jens Schauder 49e343fe8a Fix Callback order.
This undos the changes to `JdbcAggregateTemplate` done by 7cf81ae.
Since we are in the RC phase I opt against trying to redo the refactoring

Closes #1924
2024-10-29 09:47:31 +01:00
Jens Schauder a351a66fcb Polishing.
Using records in tests.
Removing "public" modifier in tests.

See #1924
2024-10-29 09:47:31 +01:00
Jens Schauder 593d73ab16 Fix SQL generation for query with sorting.
Closes #1919
2024-10-25 15:24:23 +02:00
Mark Paluch 73e503338d Polishing.
Eliminate potential NoSuchElementException from unchecked Optional.get usage. Simplify stream. Return Staged value, fix Nullability annotations.

See #1907
Original pull request: #1920
2024-10-25 14:56:54 +02:00
Jens Schauder a7d7adaaf2 Fix id setting for partial updates of collections of immutable types.
We gather immutable entities of which the id has changed, in order to set them as values in the parent entity.
We now also gather unchanged entities.
So they get set with the changed one in the parent.

Closes #1907
Original pull request: #1920
2024-10-25 14:56:54 +02:00
Tran Ngoc Nhan f2d62ad7e7 Polishing.
Pattern matching usage.
Diamond operator usage.
Remove unused import.
isEmpty usage.

Original pull request #1912
2024-10-21 09:10:13 +02:00
Mark Paluch b788e7abac Prepare next development iteration.
See #1883
2024-10-18 12:49:40 +02:00
Mark Paluch 22f12e341e Release version 3.4 RC1 (2024.1.0).
See #1883
2024-10-18 12:47:01 +02:00
Mark Paluch 8c6364b4bf Polishing.
Simplify R2DBC expression handling. Use new ValueExpression API instead of holding parameter binding duplicates.

Reformat code. Add author tags.

See #1904
Original pull request: #1906
2024-10-09 13:35:18 +02:00
Marcin Grzejszczak d526cd3a22 Add support for Value Expressions for Repository Query methods.
Closes #1904
Original pull request: #1906
2024-10-09 13:35:16 +02:00
Mark Paluch 8622d70ba4 Polishing.
Refine tests. Extend comment for future-me.

See #1900
Original pull request: #1903
2024-10-02 15:08:11 +02:00
Jens Schauder ae8651869e Do not convert binary data in List<byte[]> to array SQL type.
byte[] is mapped to BINARY data and is not considered tuple data.

The explicit check for byte[] is not very nice but matches the special handling in MappingJdbcConverter.writeJdbcValue

Closes #1900
Original pull request: #1903
2024-10-02 15:08:10 +02:00
Jens Schauder b3040a1044 Removes superfluous EnabledOnDatabase.
Closes #1902
2024-10-01 15:57:04 +02:00
Mark Paluch 7cf81aed35 Polishing.
Replace code duplications with doWithBatch(…) method. Return most concrete type in DefaultDataAccessStrategy and MyBatisDataAccessStrategy.

See #1623
Original pull request: #1897
2024-10-01 09:10:59 +02:00
Jens Schauder c4f62e9f56 Return List instead of Iterable in JDBC Repositories and JdbcAggregateOperations.
Closes #1623
Original pull request: #1897
2024-10-01 09:10:58 +02:00
Jens Schauder 4d5a382a73 Polishing.
Original pull request #1901
2024-09-30 12:20:11 +02:00
Mikhail2048 08daf47842 Refactoring.
Clarified nullabillity for Identifier.
Removed usage of deprecated constructor for StringBasedJdbcQuery.

Original pull request #1901
2024-09-30 12:18:43 +02:00
Tran Ngoc Nhan 146e5495df Minor refactoring.
Original pull request #1895
2024-09-24 09:09:08 +02:00
Tran Ngoc Nhan 9277792d87 Polishing.
Original pull request #1894
2024-09-23 09:20:47 +02:00
Mark Paluch 033ac1f95a Polishing.
Refactor JdbcLookupStrategy to not generally require BeanFactory. Reintroduce deprecated setBeanFactory(…) method.

See #1872
Original pull request: #1874
2024-09-16 09:10:12 +02:00
Jens Schauder d2bb64f4ca StringBasedJdbcQuery no longer requires BeanFactory.
The lookup is now performed by the `RowMapperFactory`.

Closes #1872
Original pull request: #1874
2024-09-16 09:10:12 +02:00
Jens Schauder 9e91a0e7a5 Polishing.
Fix Javadoc.

See #1872
Original pull request: #1874
2024-09-16 09:10:12 +02:00
Jens Schauder eb9168f95e Prepare next development iteration.
See #1791
2024-09-13 12:42:27 +02:00
Jens Schauder f7936e0fe6 Release version 3.4 M1 (2024.1.0).
See #1791
2024-09-13 12:39:33 +02:00
Jens Schauder 615c79cb3e Polishing.
See #1873
Original pull request #1875
2024-09-12 09:24:43 +02:00
Mikhail2048 1b9b9b2ed2 Add converter for microsoft.sql.DateTimeOffset.
Original pull request #1875
Closes #1873
2024-09-12 09:23:35 +02:00
Tran Ngoc Nhan 7b2c4e5f23 Remove unused imports.
Original pull request #1877
2024-09-09 08:58:02 +02:00
Mark Paluch 72774135a7 Polishing.
Remove Preprocessor interface. Add property accessors to RelationalQueryLookupStrategy. Reuse property accessors instead of loosely coupled object access.

See #1856
Original pull request #1863
2024-09-04 10:04:55 +02:00
Jens Schauder f937738038 Support for table names in SpEL expressions.
SpEL expressions in queries get processed in two steps:

1. First SpEL expressions outside parameters are detected and processed.
This is done with a `StandardEvaluationContext` with the variables `tableName` and `qualifiedTableName` added.
This step is introduced by this commit.

2. Parameters made up by SpEL expressions are processed as usual.

Closes #1856
Original pull request #1863
2024-09-04 10:04:55 +02:00
Jens Schauder 4221840538 Polishing.
Fixing a test used for performance reasons.

Formatting a test.
Removing public modifier.
Separating test methods from infrastructure.

Original pull request #1863
See #1856
2024-09-04 10:04:54 +02:00
Jens Schauder b006923f0d Polishing.
Original pull request #1869
2024-08-30 13:28:27 +02:00
Jens Schauder 848ffee253 Remove deprecated code.
Original pull request #1869
2024-08-30 13:28:01 +02:00
arefbehboudi c8b9697c51 Refactor code with instanceof pattern variable.
In some cases, we currently use the traditional `instanceof` checks followed by explicit type casting.
With the introduction of pattern matching in recent Java versions, we can refactor these checks to make the code more concise and readable.

Original pull request #1868
2024-08-30 10:13:48 +02:00
Jens Schauder 9b0b91bfd0 Avoid selection of duplicate columns.
Closes #1865
2024-08-29 12:32:29 +02:00
Jens Schauder 7e6f5482ba Dedicated exception for aggregate roots without id property.
We now distinguish between an id not set during insert and a supposed aggregate root without id property.

Closes #1502
Original pull request #1855
2024-08-14 13:19:47 +02:00
Jens Schauder 1c756795d1 Polishing.
Formatting and removing public modifier from test methods.

See #1502
Original pull request #1855
2024-08-14 13:18:52 +02:00
Christoph Strobl 2040247a11 Add support for using custom BeanNameGenerator.
Closes: #1853
2024-08-09 11:19:37 +02:00
Mark Paluch 4978b4c0e3 Polishing.
Correctly assign SQL type for tuples.

See #1323
Original pull request: #1838
2024-07-23 13:42:37 +02:00
Mark Paluch f0d3b5e425 Polishing.
Refactor convertAndAddParameter method to writeValue(…) decoupling responsibilities for a clearer value conversion code path. Also, refactor collection conversion to functional callback-style and extend test assertions.

See #1323
Original pull request: #1838
2024-07-22 15:05:19 +02:00
Jens Schauder 8241aa1222 Allow passing of tuples to repository query methods.
Closes #1323
Original pull request: #1838
2024-07-22 15:05:18 +02:00
Jens Schauder 23d91d62bb Run test only on HsqlDb.
JdbcRepositoryEmbeddedIntegrationTests no longer runs for all databases, since it doesn't tests anything specific to differen RDBMSs.
Therefore the test also got renamed.

See #1565
2024-07-17 11:18:17 +02:00
Jens Schauder b3a1dc5638 Consider sanitised names when copying parameter sources.
Closes #1565
2024-07-17 11:13:02 +02:00
Jens Schauder 1b091da5ee Polishing.
Make test methods package private.

See #1565
2024-07-17 10:57:25 +02:00
Jens Schauder 82c84342a2 Replaced all usage of catalog with schema.
Catalog was used by mistake.
Spring Data JDBC has no support for multiple catalogs, only for multiple schema.

Closes #1729
2024-07-16 09:55:47 +02:00
Jens Schauder effc162d6f Add public factory method to SubselectExpression.
This allows using Select instances as Expression where this isn't yet anticipated.

Closes #1831
2024-07-16 09:55:47 +02:00
Oliver Drotbohm 112c084b29 Avoid double-conversion of values considered simple.
MappingJdbcConverter previously tried to create a JdbcValue for simple values via the ConversionService, only to drop the conversion result if the conversino did not result in a JdbcValue eventually. In that case it triggered an additional (same) conversion to then handle the wrapping of the conversion result into a JdbcValue manually.

This commit alters the flow so that it only triggers the conversion once and manually applies the JdbcValue wrapping only if the result of the original conversion is not a JdbcValue, yet.

Original pull request #1830
2024-07-09 10:03:26 +02:00
Jens Schauder 7bd907c5e6 Fix regression of loading empty arrays.
Closes #1826
See #1812
2024-07-02 15:07:52 +02:00