利用Stream(流)处理查询结果
我们可以使用Stream
Example 9. Stream the result of a query with Java 8 Stream
@Query("select u from User u")
Stream<User> findAllByCustomQueryAndStream();
Stream<User> readAllByFirstnameNotNull();
@Query("select u from User u")
Stream<User> streamAllPaged(Pageable pageable);
一个Stream中可能包含底层数据存储的特定资源,所以在使用后必须关闭。可以通过调用close()方法,也可以使用java 7中的try-with-resources块
Example 10. Working with a Stream
try (Stream<User> stream = repository.findAllByCustomQueryAndStream()) {
stream.forEach(…);
}
目前,不是所有的Spring Data模块都支持将Stream
作为返回类型