#54 - Added a project for MongoDB examples using Java 8 features.
This initial version of the example projects demonstrates the usage and mapping behavior of Java 8 Streams in repositories. The test cases 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.
This commit is contained in:
committed by
Oliver Gierke
parent
6597d7ca95
commit
73be2fcddb
21
mongodb/java8/README.md
Normal file
21
mongodb/java8/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Spring Data MongoDB - Java 8 examples
|
||||
|
||||
This project contains samples of Java 8 specific features of Spring Data (MongoDB).
|
||||
|
||||
## 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 the `DBObject` 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("{}")
|
||||
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.
|
||||
Reference in New Issue
Block a user