Concept Flow - Specification pattern for dynamic queries
Start: Receive filter criteria
Create Specification objects
Combine Specifications with AND/OR
Pass Specification to Repository
Repository builds query dynamically
Execute query and return results
End
The flow starts with filter criteria, builds Specification objects, combines them, passes to repository which creates and runs the query dynamically.