-
Couldn't load subscription status.
- Fork 699
Feature matrix
Mark Paluch edited this page Jan 30, 2023
·
18 revisions
The following tables provide a quick overview over the features available in the various Spring Data modules. The symbols are used as follows
- ⭕- not (yet) available
- ✅ - available
- ❕ - doesn't make sense in the context of this module
| Commons | JPA | MongoDB | Gemfire | Redis | Cassandra | |
|---|---|---|---|---|---|---|
| Mapping subsystem | ✅ | ✅ | ✅ | ✅1 | ✅ | ✅ |
| Template API | ❕ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Spring XML namespace | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Auditing | ✅ | ✅ | ✅ | ⭕ | ❕ | ✅ |
| Repositories | ||||||
| General support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| CRUD implementation | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Declarative query methods | ❕ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Pagination support | ⭕ | ✅ | ✅ | ❕ | ❕ | ✅ |
| JavaConfig support | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| CDI integration | ✅ | ✅ | ✅ | ⭕ | ✅ | ✅ |
1 - Basic mapping only (id mapping).
| Elasticsearch | Couchbase | Neo4j | SD FuzzyDB | |
|---|---|---|---|---|
| Mapping subsystem | ✅ | ✅ | ✅ | ✅ |
| Template API | ✅ | ✅ | ✅ | ✅ |
| Spring XML namespace | ✅ | ⭕ | ⭕ | ✅ |
| Auditing | ✅ | ✅ | ✅ | ⭕ |
| Repositories | ||||
| General support | ✅ | ✅ | ✅ | ⭕ |
| CRUD implementation | ✅ | ✅ | ✅ | ⭕ |
| Declarative query methods | ✅ | ✅ | ✅ | ⭕ |
| Pagination support | ✅ | ✅ | ✅ | ⭕ |
| JavaConfig support | ✅ | ✅ | ✅ | ✅ |
| CDI integration | ✅ | ✅ | ✅ | ⭕ |
-
Mapping subsystem – mapping metadata (
MappingContext,PersistentEntity,PersistentProperty) and store-to-object conversion implementation (EntityConverter). -
Template API – A
…Templateimplementation to allow low-level persistence operations taking care of resource management, exception translation and object mapping. - Spring XML namespace – Spring XML namespace support for configuring infrastructure and repositories.
-
Auditing – support for auditing backing the
@Enable…Auditingannotation, i.e. support for@CreatedBy,@LastModifeidBy,@CreatedDate,@LastModifiedDateannotations on aggregate roots. -
CRUD implementation – implementation of
CrudRepository. -
Declarative query methods – support for declaring query methods in repository interfaces either backed by a manually declared query (through
@Query) or by query derivation. -
Pagination support – implementation of
PagingAndSortingRepositoryas well as support ofPageablein query methods. -
JavaConfig – Implementation of configuration integration backing the
@Enable…Repositoryannotation. - CDI integration – CDI extension implementation.