JPA 2.2:要添加到项目中的 API 工件是哪个?

JPA 2.2: which one is its API artifact to add in project?

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 仅依赖,不提供提供者实现。

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

查询:

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

类型查询:

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

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