Add Spring Data Dynamic Query #1163
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added a new entry for Spring Data Dynamic Query to the list.
It is my more than 6 years old project. I started to develop it in a hobby project and extract it and I made a compelete project.
Project abilities:
Statements Abilities:
FROM Statement:
@ManyToMany,@OneToMany... etc) native Jpa Joining annotations.SELECT Statement:
WHERE Statement:
CONTAIN, 6 comparator operator likeEQUALorGREATER_THAN, null check operator supporting when usingWHEREstatement. Multi valueEQUALsupporting likeIN.AND,ORandSCOPEoperations supporting.ORDER BY Statement:
PAGING Statement:
Page<>object andList<>object.Additional Features:
/api/users?key0=name&operation0=EQUAL&values0=John&key1=name&operation1 ...Note: Handwritten text. I don't want to use AI in this texts. Because I think it will make more boring. But I still want to share summary of chatGpt :)
ChatGpt Summary:
Spring Data Dynamic Query is a unified, production-ready library that dramatically simplifies dynamic query creation across three major data stores: JPA, MongoDB and Elasticsearch. It eliminates the verbosity and boilerplate typical of runtime queries by offering a single, consistent API layer. Unique features include full support for dynamic JOINs (inner and left joins in JPA, nested object joins in Elasticsearch), an expressive criteria engine supporting nine operators (e.g., CONTAIN, GREATER_THAN, PARENTHES for scoped logic), and powerful projection models via @JdqModel and @JdqField—even enabling Java record-based DTOs with nested fields. The library seamlessly handles SELECT, DISTINCT, ORDER BY, paging and projection in one go, and—most notably—brings type-safe, minimal-code update operations with dot-notation paths into joined relations (for JPA only). Since it reuses Spring Data’s underlying Criteria APIs, it remains secure and performant while giving you a high-level, declarative query mechanism. In short: if you’re tired of writing countless repository methods or hand-rolling query builders for every new filter or projection, this library delivers one clean solution that works across multiple stores and covers the full spectrum from WHERE through projection to update. It’s not just a convenience—it’s a compelling upgrade to how you work with Spring Data.