Skip to content
340 changes: 136 additions & 204 deletions README.md

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,28 @@
</roles>
<timezone>-8</timezone>
</developer>
<developer>
<id>jblum</id>
<name>John Blum</name>
<email>jblum at pivotal.io</email>
<organization>Pivotal</organization>
<organizationUrl>http://www.pivotal.io</organizationUrl>
<roles>
<role>Developer</role>
</roles>
<timezone>-8</timezone>
</developer>
<developer>
<id>mpaluch</id>
<name>Mark Paluch</name>
<email>mpaluch at pivotal.io</email>
<organization>Pivotal</organization>
<organizationUrl>http://www.pivotal.io</organizationUrl>
<roles>
<role>Developer</role>
</roles>
<timezone>+1</timezone>
</developer>
</developers>

<modules>
Expand Down
17 changes: 7 additions & 10 deletions src/main/asciidoc/index.adoc
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
= Spring Data for Apache Cassandra - Reference Documentation
David Webb, Matthew Adams
David Webb, Matthew Adams, John Blum, Mark Paluch
:revnumber: {version}
:revdate: {localdate}
:toc:
:toc-placement!:
:spring-data-commons-docs: ../../../../spring-data-commons/src/main/asciidoc

(C) 2008-2015 The original author(s).
(C) 2008-2016 The original author(s).

NOTE: Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.
NOTE: Copies of this document may be made for your own use and for distribution to others, provided that you do not
charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed
in print or electronically.

toc::[]
include::preface.adoc[]

[[introduction]]
= Introduction

include::introduction/introduction.adoc[]

:leveloffset: +1
include::introduction/requirements.adoc[]
include::introduction/getting-started.adoc[]
include::new-features.adoc[]
include::{spring-data-commons-docs}/dependencies.adoc[]
include::{spring-data-commons-docs}/repositories.adoc[]
:leveloffset: -1

Expand Down
32 changes: 0 additions & 32 deletions src/main/asciidoc/introduction/getting-started.adoc

This file was deleted.

25 changes: 0 additions & 25 deletions src/main/asciidoc/introduction/introduction.adoc

This file was deleted.

7 changes: 0 additions & 7 deletions src/main/asciidoc/introduction/requirements.adoc

This file was deleted.

12 changes: 12 additions & 0 deletions src/main/asciidoc/new-features.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[[new-features]]
= New & Noteworthy

[[new-features.1-5-0]]
== What's new in Spring Data for Apache Cassandra 1.5
* Assert compatibility with Cassandra 3.0 and Cassandra Java Driver 3.0.
* Configurable `ProtocolVersion` and `QueryOptions` on `Cluster` level.
* Support for `Optional` as query method result and argument.
* Declarative query methods using query derivation
* Support for User-Defined types and mapped User-Defined types using `@UserDefinedType`.
* The following annotations have been enabled to build own, composed annotations: `@Table`, `@UserDefinedType`, `@PrimaryKey`, `@PrimaryKeyClass`, `@PrimaryKeyColumn`, `@Column`, `@Query`, `@CassandraType`.

126 changes: 117 additions & 9 deletions src/main/asciidoc/preface.adoc
Original file line number Diff line number Diff line change
@@ -1,15 +1,123 @@
[[preface]]
= Preface

The Spring Data for Apache Cassandra project applies core Spring concepts to the development of solutions using the Cassandra Columnar data store. We provide a "template" as a high-level abstraction for storing and querying documents. You will notice similarities to the JDBC support in the Spring Framework.
The Spring Data for Apache Cassandra project applies core Spring concepts to the development of solutions using
the Cassandra Columnar data store. A "template" is provided as a high-level abstraction for storing
and querying documents. You will notice similarities to the http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#jdbc[JDBC support]
in the core Spring Framework.

[[project]]
[preface]
== Project Metadata
This document is the reference guide for Spring Data support for Cassandra. It explains Cassandra module concepts,
semantics and the syntax for various stores namespaces.

* Version Control - https://github.com/spring-projects/spring-data-cassandra
* Bugtacker - https://jira.spring.io/browse/DATACASS
* Release repository - https://repo.springsource.org/libs-release
* Milestone repository - https://repo.springsource.org/libs-milestone
* Snapshot repository - https://repo.springsource.org/libs-snapshot
This section provides a basic introduction to Spring, Spring Data and the Cassandra database. The rest of the document
refers only to Spring Data for Apache Cassandra features and assumes the user is familiar with Cassandra as well as
core Spring concepts.

This section provides some basic introduction to Spring and Cassandra database. The rest of the document
refers only to Spring Data for Apache Cassandra features and assumes the user is familiar with Apache Cassandra as
well as Spring concepts.

[[get-started:first-steps:spring]]
== Knowing Spring

Spring Data uses the Spring Framework's http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/[core]
functionality, such as the http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans[IoC] container,
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#validation[validation, type conversion and data binding],
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#expressions[expression language],
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#aop[AOP],
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#jmx[JMX integration],
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#dao[DAO support], and specifically
the http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#dao-exceptions[DAO Exception Hierarchy].

While it is not important to know the Spring APIs, understanding the concepts behind them is. At a minimum, the idea
behind IoC should be familiar no matter what IoC container you choose to use.

The core functionality of the Cassandra support can be used directly, with no need to invoke the IoC services
of the Spring container. This is much like `JdbcTemplate`, which can be used 'standalone' without any other services
of the Spring container. To leverage all the features of Spring Data for Apache Cassandra, such as the repository support,
you will need to configure some parts of the library using Spring.

To learn more about Spring, you can refer to the comprehensive (and sometimes disarming) http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/[documentation]
that explains in detail the Spring Framework. There are a lot of articles, blog entries and books on the matter.
Take a look at the Spring Framework http://projects.spring.io/spring-framework/[home page] for more information.

[[get-started:first-steps:nosql]]
== Knowing NoSQL and Cassandra

NoSQL stores have taken the storage world by storm. It is a vast domain with a plethora of solutions, terms and patterns
(to make things worse, even the term itself has multiple http://www.google.com/search?q=nosoql+acronym[meanings]).
While some of the principles are common, it is crucial that the user is familiar to some degree with
the Cassandra Columnar NoSQL Datastore supported by Spring Data for Apache Cassandra. The best way to get acquainted with Cassandra
is to read the documentation and follow the examples. It usually doesn't take more then 5-10 minutes to go through them
and if you are coming from a RDBMS background, many times these exercises can be an eye opener.

The starting ground for learning about Cassandra is http://cassandra.apache.org/[cassandra.apache.org]. Also, here is
a list of other useful resources:

* http://planetcassandra.org/[Planet Cassandra] site has many valuable resources for Cassandra best practices.
* The http://datastax.com/[DataStax] site offers http://www.datastax.com/what-we-offer/products-services/support[commercial support]
and many resources, including, but not limited to, http://docs.datastax.com/en/landing_page/doc/landing_page/current.html[documentation],
http://docs.datastax.com/en/landing_page/doc/landing_page/current.html[DataStax Academy], a http://www.datastax.com/dev/blog[Tech Blog]
and so on.
* The http://www.planetcassandra.org/try-cassandra/[Cassandra Quick Start] provides a convenient way to interact
with a Apache Cassandra instance in combination with the online shell.

[[requirements]]
== Requirements

Spring Data for Apache Cassandra 1.x binaries require JDK level 6.0 and above, and http://spring.io/docs[Spring Framework] {springVersion} and above.

In terms of http://cassandra.apache.org/[Cassandra] at least 2.0.

== Additional Help Resources

Learning a new framework is not always straight forward. In this section, we try to provide what we
think is an easy to follow guide for starting with Spring Data for Apache Cassandra module.
However, if you encounter issues or you are just looking for an advice, feel free to use one of the links below:

[[get-started:help]]
=== Support

There are a few support options available:

[[get-started:help:community]]
==== Community Forum

Spring Data on http://stackoverflow.com/questions/tagged/spring-data[Stackoverflow] is a
tag for all Spring Data (not just Cassandra) users to share information and help each other.
Note that registration is needed *only* for posting.

Developers post questions and answers on . The two key tags to search for related answers to
this project are:

* http://stackoverflow.com/questions/tagged/spring-data[spring-data]
* http://stackoverflow.com/questions/tagged/spring-data-cassandra[spring-data-cassandra]

[[get-started:help:professional]]
==== Professional Support

Professional, from-the-source support, with guaranteed response time, is available from
http://pivotal.io/[Pivotal Sofware, Inc.], the company behind Spring Data and Spring.

[[get-started:up-to-date]]
=== Following Development

For information on the Spring Data for Apache Cassandra source code repository, nightly builds and snapshot artifacts
please see the http://projects.spring.io/spring-data-cassandra/[Spring Data for Apache Cassandra homepage].
You can help make Spring Data best serve the needs of the Spring community by interacting with developers
through the Community on http://stackoverflow.com/questions/tagged/spring-data[Stackoverflow].
To follow developer activity look for the mailing list information on the Spring Data for Apache Cassandra homepage.
If you encounter a bug or want to suggest an improvement, please create a ticket on the Spring Data issue
https://jira.spring.io/browse/DATACASS[tracker]. To stay up to date with the latest news and announcements
in the Spring eco system, subscribe to the Spring Community http://spring.io[Portal].
Lastly, you can follow the Spring http://spring.io/blog[blog] or the project team on Twitter (http://twitter.com/SpringData[SpringData]).


[[get-started:project-metadata]]
=== Project Metadata

* Version Control - https://github.com/spring-projects/spring-data-cassandra
* Bugtracker - https://jira.spring.io/browse/DATACASS
* Release repository - https://repo.spring.io/libs-release
* Milestone repository - https://repo.spring.io/libs-milestone
* Snapshot repository - https://repo.spring.io/libs-snapshot
Loading