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。
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。