Commit Graph

3162 Commits

Author SHA1 Message Date
Mark Paluch
3596bcc996 Refactor RepositoryFactoryBeanSupport fragments setters.
Introduce RepositoryFragmentsFunction and a collection of functions to provide a well-formed contract.

Use RepositoryMetadata from initialized RepositoryFactoryBean.

See #3265
2025-05-16 12:04:25 +02:00
Christoph Strobl
281f186411 Add support for AOT generated repository implementations and wire fragments in BeanDefinition AOT code.
We now provide infrastructure to generate AOT repository method code that implements Query method behavior.

No longer use spring.factories but write some custom bean config code so that one of the properties can provide an instance of the generated repository.

Closes #3265
2025-05-16 12:04:25 +02:00
Mark Paluch
65257d983b Introduce CustomConversions.getRequiredValueConverter(…).
Provide convenience method to simplify flow in calling code.

See #3170
2025-05-16 12:04:25 +02:00
Mark Paluch
5b96fb480d Polishing.
Refine wording around Environment and EvaluationContext presence.

See #3170
2025-05-16 12:04:25 +02:00
Mark Paluch
9e2b7fe5c2 Polishing.
Add missing Nullable annotations, simplify generated bean name creation.

See #3170
2025-05-16 12:04:25 +02:00
Mark Paluch
30457ac4ed Migrate to JSpecify annotations for nullability constraints.
Closes #3170
2025-05-16 12:04:25 +02:00
Christoph Strobl
de72955faa After release cleanups.
See #3206
2025-05-16 12:04:24 +02:00
Christoph Strobl
4ec48c9a80 Prepare next development iteration.
See #3206
2025-05-16 12:04:24 +02:00
Christoph Strobl
2be8b4854a Release version 4.0 M1 (2025.1.0).
See #3206
2025-05-16 12:04:23 +02:00
Christoph Strobl
2b48fbc44c Prepare 4.0 M1 (2025.1.0).
See #3206
2025-05-16 12:04:09 +02:00
Mark Paluch
7c80c5da18 Use Spring's Nullness utility to determine JSpecify nullness.
We now use Nullness.forMethodParameter(…) to introspect method return types and argument types for nullness in addition to Spring's NonNullApi and JSR-305 annotations.

Closes #3100
2025-05-16 12:03:50 +02:00
Mark Paluch
17a71c9725 Move off deprecated API.
See #3218
2025-05-16 12:03:50 +02:00
Mark Paluch
8b0673fa08 Polishing.
Refine deprecations.

See #3208
2025-05-16 12:03:50 +02:00
Mark Paluch
d6e2f8ab98 Add @Contract and @CheckReturnValue annotations.
Closes: #3195
Original pull request: #3210
2025-05-16 12:03:50 +02:00
Mark Paluch
f1604b89b4 Remove ListenableFuture support.
Closes #3232
2025-05-16 12:03:49 +02:00
Mark Paluch
3417cb6dbb Remove @Deprecated API.
See #3208
2025-05-16 12:03:49 +02:00
Mark Paluch
3ef1bffb5c Revise ClassUtils and ReflectionUtils.
We deprecated `ClassUtils` in the repo.utils package and introduced a slimmer variant in o.s.d.util. Also, ReflectionUtils hosts now several methods that have been in ClassUtils along with an improved method naming (find vs. get in combination with return value semantics).

CastUtils is deprecated as we do not widely use it.
2025-05-16 12:03:49 +02:00
Mark Paluch
7db177e3cd Remove @Deprecated API.
Closes #3208
2025-05-16 12:03:49 +02:00
Mark Paluch
b4c55baa2d After release cleanups.
See #3206
2025-05-16 12:03:48 +02:00
Mark Paluch
c9dfe30e03 Prepare next development iteration.
See #3206
2025-05-16 12:03:31 +02:00
Mark Paluch
756595d8d8 Release version 3.5 GA (2025.0.0).
See #3275
2025-05-16 11:28:30 +02:00
Mark Paluch
d32113bd43 Prepare 3.5 GA (2025.0.0).
See #3275
2025-05-16 11:28:09 +02:00
Mark Paluch
ecfe77c40f Polishing.
Reformat code, refine Javadoc.

See #3258
Original pull request: #3277
2025-05-16 09:35:09 +02:00
Chris Bono
39618faf01 Avoid matching multipart parameters annotated with @ModelAttribute
The ProxyHandlerMethodArgumentResolver now avoids matching multipart parameters annotated with @ModelAttribute. This allows multipart parameters to be handled by RequestParamMethodArgumentResolver which properly handles multipart arguments.

Also, the `@ProjectedPayload` annotation can now be used on parameters. This prepares for the upcoming removal of support for non-annotated projections.

Fixes #3258
Related tickets #2937
Original pull request: #3277

Signed-off-by: Chris Bono <chris.bono@broadcom.com>
2025-05-16 09:34:36 +02:00
Mark Paluch
3e44ad219b Update CI Properties.
See #3275
2025-05-12 09:33:04 +02:00
Mark Paluch
5dae7a7ad2 Update CI Properties.
See #3275
2025-05-12 09:00:22 +02:00
Mark Paluch
f000243aa6 Update CI Properties.
See #3275
2025-05-12 08:56:21 +02:00
Mark Paluch
5a2f2bfd5c Update CI Properties.
See #3275
2025-05-12 08:55:53 +02:00
Mark Paluch
cefc9232d1 Polishing.
Add missing Antora property.

See #3262
2025-05-09 11:31:26 +02:00
Mark Paluch
41c8a5080f Polishing.
Reformat code. Simplify flow. Add ticket reference to test.

See #3287
Original pull request: #3219
2025-05-09 11:08:00 +02:00
xeounxzxu
f9d5369ff1 Avoid multiple DeferredRepositoryInitializationListener registrations in RepositoryConfigurationDelegate.
Closes #3287
Original pull request: #3219
2025-05-09 11:07:39 +02:00
Oscar Hernandez
4ea94056cc Fix NPE in CrudRepositoryExtensions.
Closes #3187
2025-05-09 10:49:13 +02:00
Yanming Zhou
b4d2391cdb Use List.of() and Set.of() where feasible.
Closes #3231
2025-05-09 10:45:18 +02:00
Seungrae
95d9637edc Fix typos in reference documentation and Javadoc.
Signed-off-by: Seungrae Kim <obey1342@gmail.com>

Closes #3235
2025-05-09 10:42:02 +02:00
Mark Paluch
64def32d83 Polishing.
Use dynamic copyright year. Disable feature-scroll by default on query method details to let modules opt-in.

See #3262
2025-05-09 10:23:03 +02:00
Dmitry Sulman
ad25ad9703 Fix Antora feature-scroll attribute.
Signed-off-by: Dmitry Sulman <dmitry.sulman@gmail.com>

Closes #3262
2025-05-09 10:22:53 +02:00
Mark Paluch
2534f176a7 Polishing.
Align documentation between reactive and imperative repository variants.

See #3280
Original pull request: #3281
2025-05-09 09:55:21 +02:00
Jens Schauder
96b5b72013 Improve documentation for CrudRepository.deleteById.
The documentation now clarifies that entity might get loaded and therefore possibly OptimisticLockingFailureException might get thrown.

Closes #3280
Original pull request: #3281
2025-05-09 09:55:09 +02:00
Mark Paluch
bfc380fbea Allow subclasses of ReturnedType.
Closes #3286
2025-05-05 17:01:22 +02:00
Mark Paluch
e17dd32b7f After release cleanups.
See #3255
2025-04-22 11:26:48 +02:00
Mark Paluch
9b3a44aba5 Prepare next development iteration.
See #3255
2025-04-22 11:26:47 +02:00
Mark Paluch
2c4b60e2cf Release version 3.5 RC1 (2025.0.0).
See #3255
2025-04-22 11:24:11 +02:00
Mark Paluch
7d07b12dc4 Prepare 3.5 RC1 (2025.0.0).
See #3255
2025-04-22 11:23:50 +02:00
Mark Paluch
646aea4cc0 Polishing.
Reorder methods. Tweak Javadoc, add references to parameter naming. Add usage to newly introduced methods.

See #3088
Original pull request: #3272
2025-04-22 09:05:53 +02:00
Chris Bono
a978209497 Add getRequiredName and hasName API to org.springframework.data.mapping.Parameter.
Introduces a more convenient API to simplify the caller side especially for conditionals that want to determine whether a parameter name is present.

Closes #3088
Original pull request: #3272
2025-04-22 09:03:57 +02:00
KIMSIWOO
c0b60b2906 Fix example code in query methods details doc.
Original pull request: #3224

Signed-off-by: KIMSIWOO <sa20207@naver.com>
2025-04-16 16:53:50 -05:00
Jens Schauder
ceae0dd234 Tiny improvement of examples.
Examples for limiting queries with and without a property argument are now better mixed.
This makes it more clear that limiting and filtering by property are orthogonal concerns.

Closes #3268
Original pull request #3269
2025-04-16 10:01:15 +02:00
Tran Ngoc Nhan
af10ad393a Update javadoc links.
This fixes javadoc links in a couple of adoc files.

Original pull request: #3260

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-04-11 18:58:18 -05:00
Tran Ngoc Nhan
18f27e7e95 Remove unused imports.
This cleans up a couple of classes by removing unused imports.

Original pull request: #3240

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2025-04-11 18:50:26 -05:00
Mark Paluch
1b9e36c929 Accept Function to create Parameters in QueryMethod.
We now no longer rely on overriding a method in the QueryMethod constructor but accept a Function to create Parameters.

Closes #3263
2025-04-09 12:04:07 +02:00