-
Notifications
You must be signed in to change notification settings - Fork 677
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
…Template
implementation 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…Auditing
annotation, i.e. support for@CreatedBy
,@LastModifeidBy
,@CreatedDate
,@LastModifiedDate
annotations 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
PagingAndSortingRepository
as well as support ofPageable
in query methods. -
JavaConfig – Implementation of configuration integration backing the
@Enable…Repository
annotation. - CDI integration – CDI extension implementation.