Skip to content

Fix AOT generated GreaterThanEqual derived query - #2371

Open
adityaanikam wants to merge 1 commit into
spring-projects:mainfrom
adityaanikam:fix-aot-greaterthanequal-2365
Open

Fix AOT generated GreaterThanEqual derived query#2371
adityaanikam wants to merge 1 commit into
spring-projects:mainfrom
adityaanikam:fix-aot-greaterthanequal-2365

Conversation

@adityaanikam

Copy link
Copy Markdown

Closes #2365

JdbcCodeBlocks emitted Criteria.greaterThanEquals(...) for the GTE comparator, a method that does not exist on Criteria. The correct method is greaterThanOrEquals(...), used directly above it for the LTE comparator.

Since AOT processing generates a repository's whole fragment as a single Java class, this one bad call broke compilation of the entire generated class, not just the affected query method. I confirmed this by temporarily reverting the fix locally: all 38 tests in JdbcRepositoryContributorIntegrationTests failed, not only a test targeting GreaterThanEqual specifically.

Added findAllByAgeGreaterThanEqual to the UserRepository test fixture and a matching integration test that exercises the generated fragment against a real H2 database, run with mvn test.

  • You have read the Spring Data contribution guidelines.
  • You use the code formatters provided here and have them applied to your changes. No formatting related changes are included.
  • You submit test cases (unit or integration tests) that back your changes.
  • You added yourself as author in the headers of the classes you touched.

JdbcCodeBlocks emitted Criteria.greaterThanEquals(...) for the GTE comparator, a method that does not exist on Criteria; the correct method is greaterThanOrEquals(...), used directly above it for LTE. Since AOT processing generates a repository's whole fragment as a single Java class, this one bad call broke compilation of the entire generated class, not just the affected query method. Confirmed by temporarily reverting the fix: all 38 tests in JdbcRepositoryContributorIntegrationTests failed, not only the new one added here.

Added findAllByAgeGreaterThanEqual to UserRepository and a matching integration test that exercises the generated fragment against a real H2 database.

Closes spring-projects#2365

Signed-off-by: Aditya Nikam <adityanikam9502@gmail.com>
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: waiting-for-triage An issue we've not yet triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AOT-generated derived query for GreaterThanEqual calls non-existent Criteria.greaterThanEquals(...) instead of greaterThanOrEquals(...)

2 participants