beginnerJPA Fundamentals — The Specification, Providers & Architecture

What's the difference between JPA and Hibernate?

JPA is a specification — a set of interfaces and annotations with no executable logic of its own. Hibernate is one concrete implementation ('provider') of that specification, alongside EclipseLink and OpenJPA. Spring Boot uses Hibernate as its default JPA provider, which is why the two terms are often used loosely as if interchangeable, even though they're structurally distinct.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to Is JPA provider portability (swapping Hibernate for EclipseLink) actually easy in practice?← Back to all Spring Data JPA & Hibernate Mastery questions