diff --git a/src/main/antora/modules/ROOT/nav.adoc b/src/main/antora/modules/ROOT/nav.adoc index 5ecc189dd..a6b10d01f 100644 --- a/src/main/antora/modules/ROOT/nav.adoc +++ b/src/main/antora/modules/ROOT/nav.adoc @@ -1,5 +1,9 @@ * xref:index.adoc[Overview] ** xref:commons/upgrade.adoc[] +** xref:migration-guides.adoc[] +*** xref:migration-guide/migration-guide-1.5-to-2.0.adoc[] +*** xref:migration-guide/migration-guide-2.2-to-3.0.adoc[] +*** xref:migration-guide/migration-guide-3.0-to-4.0.adoc[] * xref:cassandra.adoc[] ** xref:cassandra/getting-started.adoc[] @@ -38,8 +42,4 @@ ** xref:kotlin/extensions.adoc[] ** xref:kotlin/coroutines.adoc[] -* xref:migration-guides.adoc[] -** xref:migration-guide/migration-guide-1.5-to-2.0.adoc[] -** xref:migration-guide/migration-guide-2.2-to-3.0.adoc[] -** xref:migration-guide/migration-guide-3.0-to-4.0.adoc[] * https://github.com/spring-projects/spring-data-commons/wiki[Wiki] diff --git a/src/main/antora/modules/ROOT/pages/cassandra.adoc b/src/main/antora/modules/ROOT/pages/cassandra.adoc index 940516391..a278e3929 100644 --- a/src/main/antora/modules/ROOT/pages/cassandra.adoc +++ b/src/main/antora/modules/ROOT/pages/cassandra.adoc @@ -4,14 +4,14 @@ Spring Data support for Apache Cassandra contains a wide range of features: -* Spring configuration support with Java-based `@Configuration` classes or the XML namespace. -* The `CqlTemplate`, `AsyncCqlTemplate`, and `ReactiveCqlTemplate` helper classes that increases productivity by properly handling common Cassandra data access operations. -* The `CassandraTemplate`, `AsyncCassandraTemplate`, and `ReactiveCassandraTemplate` helper classes that provide object mapping between CQL Tables and POJOs. -* Exception translation into Spring's portable {springDocsUrl}data-access.html#dao-exceptions[Data Access Exception Hierarchy]. -* Feature rich object mapping integrated with _Spring's_ {springDocsUrl}core.html#core-convert[Conversion Service]. -* Annotation-based mapping metadata that is extensible to support other metadata formats. -* Java-based query, criteria, and update DSLs. -* Automatic implementation of imperative and reactive `Repository` interfaces including support for custom finder methods. +* Spring configuration support with xref:cassandra/configuration.adoc[Java-based `@Configuration` classes or the XML namespace]. +* The xref:cassandra/cql-template.adoc[`CqlTemplate`, `AsyncCqlTemplate`, and `ReactiveCqlTemplate`] helper classes that increases productivity by properly handling common Cassandra data access operations. +* The xref:cassandra/template.adoc[`CassandraTemplate`, `AsyncCassandraTemplate`, and `ReactiveCassandraTemplate`] helper classes that provide object mapping between CQL Tables and POJOs. +* xref:cassandra/cql-template.adoc#exception-translation[Exception translation] into Spring's portable {springDocsUrl}data-access.html#dao-exceptions[Data Access Exception Hierarchy]. +* Feature rich xref:object-mapping.adoc[object mapping] integrated with _Spring's_ {springDocsUrl}core.html#core-convert[Conversion Service]. +* xref:object-mapping.adoc#mapping.usage-annotations[Annotation-based mapping] metadata that is extensible to support other metadata formats. +* Java-based xref:cassandra/template.adoc#cassandra.template.query[query, criteria, and update DSLs]. +* Automatic implementation of xref:repositories.adoc[imperative and reactive `Repository` interfaces] including support for xref:repositories/custom-implementations.adoc[custom query methods]. For most data-oriented tasks, you can use the `[Reactive|Async]CassandraTemplate` or the `Repository` support, both of which use the rich object-mapping functionality. `[Reactive|Async]CqlTemplate` is commonly used to increment counters or perform ad-hoc CRUD operations. `[Reactive|Async]CqlTemplate` also provides callback methods that make it easy to get low-level API objects, such as `com.datastax.oss.driver.api.core.CqlSession`, which lets you communicate directly with Cassandra. Spring Data for Apache Cassandra uses consistent naming conventions on objects in various APIs to those found in the DataStax Java Driver so that they are familiar and so that you can map your existing knowledge onto the Spring APIs. diff --git a/src/main/antora/modules/ROOT/pages/object-mapping.adoc b/src/main/antora/modules/ROOT/pages/object-mapping.adoc index 5fb43b6f1..3ce214ceb 100644 --- a/src/main/antora/modules/ROOT/pages/object-mapping.adoc +++ b/src/main/antora/modules/ROOT/pages/object-mapping.adoc @@ -519,11 +519,3 @@ The `@Indexed` annotation can be applied to single properties of embedded entiti ==== CAUTION: Index creation on session initialization may have a severe performance impact on application startup. - -[[cassandra.entity-persistence.state-detection-strategies]] -include::{commons}@data-commons::page$is-new-state-detection.adoc[leveloffset=+1] - -NOTE: Cassandra provides no means to generate identifiers upon inserting data. -As consequence, entities must be associated with identifier values. -Spring Data defaults to identifier inspection to determine whether an entity is new. -If you want to use xref:cassandra/auditing.adoc[auditing] make sure to either use xref:cassandra/template.adoc#cassandra.template.optimistic-locking[Optimistic Locking] or implement `Persistable` for proper entity state detection. diff --git a/src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc b/src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc index 4ae3ce676..0526eaa83 100644 --- a/src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc +++ b/src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc @@ -1 +1,9 @@ include::{commons}@data-commons::page$repositories/core-concepts.adoc[] + +[[cassandra.entity-persistence.state-detection-strategies]] +include::{commons}@data-commons::page$is-new-state-detection.adoc[leveloffset=+1] + +NOTE: Cassandra provides no means to generate identifiers upon inserting data. +As consequence, entities must be associated with identifier values. +Spring Data defaults to identifier inspection to determine whether an entity is new. +If you want to use xref:cassandra/auditing.adoc[auditing] make sure to either use xref:cassandra/template.adoc#cassandra.template.optimistic-locking[Optimistic Locking] or implement `Persistable` for proper entity state detection.