- 
                Notifications
    You must be signed in to change notification settings 
- 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.