Skip to content
What's new: inline editing, saved views, uploads & more

The admin panel your Spring Boot app is missing

Add one dependency and get a polished, secure console for every JPA entity: search, filters, inline editing, relations, uploads and bulk actions, generated from your model. No frontend code, no Node.js at runtime.

$ implementation("com.substringtechnologies:jpa-admin-spring-boot-starter:0.1.0")
  • Java 17+
  • Spring Boot 4
  • React 19 · shadcn/ui
  • Light & dark
JPA Admin dashboard with record counts, a creation chart and grouped entities JPA Admin dashboard in dark mode

Spring Boot JPA Admin

Everything an admin console needs, out of the box

Your JPA entities become a full console at startup. Annotations fine-tune it when you want more control, and everything else just works.

  • Tables that scale


    Server-side search, sorting and pagination, sticky columns, column and density options, and CSV export. Every view is a shareable URL.

  • Filters & saved views


    Relation pickers, number and date ranges, enum and boolean filters, removable chips, and named views you can return to in one click.

  • Edit anywhere


    Full forms with inline validation, edit-in-place cells, duplicate, bulk actions, and an unsaved-changes guard.

  • Real relationships


    Searchable many-to-one pickers, many-to-many multi-selects, and one-to-many child rows edited and saved with their parent.

  • File & image uploads


    Drag and drop with live progress straight to Amazon S3, ImageKit or a local folder. Every file is verified by its content.

  • Secure by default


    Session login with CSRF protection, server-side validation with field-level errors, signed upload tickets, and sanitized rich text.

  • Keyboard-first


    A Cmd+K command palette plus shortcuts to search, create, move between rows and edit, without touching the mouse.

  • Your brand


    Your title, logo and accent color, a custom URL path, and light, dark and system themes. No frontend build required.

See it in action

Products table with status badges, image thumbnails, filters and pagination

Filter panel with price range, status and category picker

Product detail page with an image panel and formatted fields

Order form with editable order line items

Image upload showing a live progress bar with speed and time left

Command palette listing recently viewed records and entities

Product detail page in dark mode

Up and running in three steps

Add the starter

Add the starter dependency from Maven Central. See Installation for Maven, Gradle and local builds.

build.gradle.kts
repositories { mavenCentral() }
dependencies { implementation("com.substringtechnologies:jpa-admin-spring-boot-starter:0.1.0") }

Set an admin password

application.yml
spring:
  jpa:
    admin:
      security:
        username: admin
        password: ${ADMIN_PASSWORD}

Open the console

Start your application and open http://localhost:8080/admin/. Every JPA entity is already there.

Make it yours

Rename labels, group entities, color statuses, add actions and uploads, all with annotations on the entities you already have.

Customize entities Annotation reference