ORM (Object Relational Mapping) is the process of creating a mapping between objects in programming code and corresponding records in a database. ORM is also a term commonly used for products that perform such mapping. An example of such a product is EclipseLink, which is used in Jmix.
JPA (Java Persistence API) is the specification that describes how the object relational mapping should be done in Java. While ORM systems typically follow this specification they do not always adhere to it strictly or may include their own extensions.
Spring Data is a family of projects that make data access easier for Spring developers. It addresses the specifics of different data storage options, providing projects such as Spring Data JPA that suits most relational databases and Spring Data MongoDB for the non-relational MongoDB database.
Jmix leverages the JPA implementation from EclipseLink along with features from Spring Data, on top of which it introduces powerful abstractions that eliminate the need for boilerplate code and excessive configuration. The platform adheres to best practices, enabling teams to develop applications quickly and securely while avoiding common ORM pitfalls.
Learn more: Data Access in Jmix