-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Spring APIs to Spring Boot 3 #40344
Conversation
cc @geoand |
This comment has been minimized.
This comment has been minimized.
Thanks for this. The CI failures definitely seem related to the PR |
Oh, absolutely. I will take a look |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
a4b0b45
to
3059274
Compare
This is off to a good start, so could you, @geoand take a look as soon as you have some time available? |
Sure, I'll try take and take a look tomorrow |
A high level overview of the changes in the description of the PR would be nice for future reference. |
integration-tests/spring-data-jpa/src/main/resources/application.properties
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I would also like to know why there are new implementors. Please add this information to the description of the PR |
Yes, sure. It's in progress. |
@geoand I added breaking-change, not sure why you removed it but this is super breaking. for example it breaks compilation due to The class hierarchy has been modified: PagingAndSortingRepository no longer extends CrudRepository as written in description. it already broke QE project and if compilation is broken, it must be documented. Please add note to the migration guide. |
@michalvavrik I added the description to the migration guide for 3.12. |
Thanks for your vigilance BTW! |
thank you @gsmet . BTW I have 4 failures after this PR got merged. I didn't use Spring for 3 years, so my knowledge is limited, so it could be false alarm. Anyway, it feels like a bug so I'll open issues within one hours. |
@michalvavrik you can create them tomorrow. We still have a week before the Core Final. |
Thanks. I removed it by mistake |
Reading this I'm not sure if it's correct. Not sure if this should be updated in migration guide. |
It's the opposite, I improved the description here. Take a look and let me know if it's clearer @jedla97 |
Cool, thanks! |
@aureamunoz Thanks for working on this and thanks for update. It's much more clearer. I know what's happend after reading it and don't need to deep dive how it changed. Probably one thing is it should be also updated in https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.12 |
(cherry picked from commit c62ce05)
Highlight overview
This pull request primarily includes cosmetic changes, such as renaming methods and reorganizing packages. However, it also features significant refactoring of the
quarkus-spring-data-rest-extension
to align with the latestspring-data-jpa 3.x
updates.Key Changes in spring data jpa latest version:
Introduction of New Interfaces:
spring-data-jpa 3.x
, two new interfaces,ListCrudRepository
andListPagingAndSortingRepository
, were introduced. These interfaces returnList<T>
types, unlike the existingPagingAndSortingRepository
andCrudRepository
, which returnIterable<T>
.PagingAndSortingRepository
no longer extendsCrudRepository
.ListCrudRepository
extendsCrudRepository
.ListPagingAndSortingRepository
extendsPagingAndSortingRepository
.JpaRepository
extends bothListCrudRepository
andListPagingAndSortingRepository
.Refactoring of
spring-data-rest
Extension:RepositoryMethodsImplementor
, which implements all repository methods based on the repository type.SpringDataRestProcessor
has been updated to include the new interfaces and now performs registration in a unified method (registerRepositories
) instead of using two separate methods.List***Repository
interfaces.EntityClassHelper
: theEntityClassHelper
has been relocated and now includes new methods used byRepositoryMethodsImplementor
to detect the repository type for implementation.Paged***Test
no longer checks methods inherited fromCrud**Repos
. A new test case,CrudAndPagedResourceTest
, has been added for a repository extending bothCrud
andPaged
repositories.Note:
The new
List****
methods are not specifically exposed via REST, as this is consistent with Spring's behavior.Additionally, I plan to clean up some comments in the code. I will address these and any other changes based on your feedback during the review.