Files
spring-data-examples/cassandra/java8/README.md
Mark Paluch d9f77903ef #224 - Use external or embedded (if external Apache Cassandra is not available) for Cassandra examples.
We now check whether an external Apache Cassandra instance is available at localhost:9042 and use it to run the examples. Otherwise, if no external Apache Cassandra instance is available, we start an embedded Cassandra instance.
2017-01-27 12:53:17 +01:00

22 lines
1014 B
Markdown

# Spring Data Cassandra - Java 8 examples
This project contains samples of Java 8 specific features of Spring Data (Cassandra).
## Support for JDK 8's `Stream` for repository methods
Repository methods can use a Java 8 `Stream` as a return type which will cause the reading of the results and the to-object-conversion of rows to happen while iterating over the stream.
```java
public interface PersonRepository extends CrudRepository<Person, String> {
@Override
List<Person> findAll();
//Custom Query method returning a Java 8 Stream
@Query("SELECT * FROM person")
Stream<Person> findAllByCustomQueryWithStream();
}
```
The test cases in `PersonRepositoryIntegrationTest` oppose a plain `List` based query method with one that uses a `Stream` and shows how the former pulls all data into memory first and the iteration is done over the pre-populated list. The execution of the `Stream`-based method in contrast shows that the individual elements are read and converted while iterating the stream.