0

JPA 2.2 添加了支持 java8 流的新功能:

 Stream Query.getResultStream();
 Stream<X> TypedQuery.getResultStream();

尝试了两个工件:

compile group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.2.0'
compile group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'

但他们没有新的流方法。

要添加的正确 JPA 2.2 API 工件是什么?

仅 API 依赖,而不是提供者 impl。

4

1 回答 1

0

从功能的角度来看,使用哪一个并不重要,因为两个工件都包含这两种方法,具有完全相同的(默认)实现(正如预期的那样,因为在规范中是这样说的)。

询问:

default Stream getResultStream() {
        return this.getResultList().stream();
}

类型查询:

default Stream<X> getResultStream() {
        return this.getResultList().stream();
}

如果这些方法不可用,原因很可能是之前类路径上的一些较旧的 JPA API。

于 2020-02-20T07:37:48.030 回答