SimpleCORE
PLATFORMS & TOOLS / PROJECT

Searchable JPA

Declare search conditions. Reuse the implementation.

Chapters 3Topics 3
PROJECT STORY
01 / 03
BROWSER

Declare search conditions. Build the query.

Annotations define searchable fields and allowed operators. Requests are validated and converted into JPA search conditions, with sorting, pagination, and OpenAPI documentation based on the same definitions. The diagram shows the path from request to result.

From field definitions to a search API.

Use @SearchableField to declare targets and allowed operators. Combine comparison, text, collection, range, and null conditions, including paths into related entities.

GET parameters and POST JSON become search conditions. Bean Validation checks values alongside operator and page-size constraints before Specification and Criteria API build the search.

Two-stage queries select record IDs first, then fetch their data and relationships. This reduces work around joins and pagination; results depend on the data, indexes, and query conditions.

  • Java 17+
  • Spring Data JPA
  • Criteria API
  • Bean Validation
  • OpenAPI

One search definition for validation and documentation.

Based on Java 17+, Spring Boot, and Jakarta Persistence, with separate core search, OpenAPI integration, and starter modules.

Field and operator definitions generate OpenAPI search schemas. Clients use these to build forms and requests while the server applies declared constraints.

The documentation covers DTO declarations, relationship search, pagination limits, and database usage. SimpleCORE License 1.0 terms are linked from the product site.

  • Java 17+
  • Spring Data JPA
  • Criteria API
  • Bean Validation
  • OpenAPI
© 2026 SIMPLECORE INC.CONTEXT. STRUCTURE. EXPERIENCE.