流和弹簧数据的优点

Cri*_*cía 8 spring java-8 spring-data

有些人重写CrudRepository的方法findAll来返回Stream(java 8),但是我看到他们最终将Stream转换为List以便通过rest控制器发送它.他们为什么要使用Stream?在这里使用Stream有什么好处?如果他们想要过滤记录,我认为可以更好地过滤DataBase.

Eug*_*ene 7

这已经在Spring Data JPA中得到支持,请看这里 ; 所以重写那些没有真正的优势Stream.如果你真的想要它带来的Stream一些潜在优势 - 使用Spring Data JPA提供的功能.

另外一个不同的方面是,JPA Spec 2.2这可能是某些查询的默认返回类型.JPA接口Query,并TypedQuery会得到一个所谓的新方法getResultStream().

所以,春天的数据将使用特定于某个供应商的技术,如HibernateEclipseLink以流的结果.

默认情况下,getResultStream它只是一个list.stream实现,但Hibernate已经覆盖了ScrollableResult.如果您需要处理非常大的结果集,这会更有效.