jpa - JPA 2.2:哪一个是要添加到项目中的 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 依赖,而不是提供者 impl。
解决方案
从功能的角度来看,使用哪一个并不重要,因为两个工件都包含这两种方法,具有完全相同的(默认)实现(正如预期的那样,因为在规范中是这样说的)。
询问:
default Stream getResultStream() {
return this.getResultList().stream();
}
类型查询:
default Stream<X> getResultStream() {
return this.getResultList().stream();
}
如果这些方法不可用,原因很可能是之前类路径上的一些较旧的 JPA API。
推荐阅读
- jquery - 在 BaguetteBox 中的每个图像下方添加按钮
- linux - Linux 容器上的 Kestrel 证书“无此类文件”适用于 Windows 容器
- javascript - 有条件地设置允许的 IsIn 装饰器可能性?
- docker - Zeppelin 无法在 docker 上加载:logErrors docker zeppelin
- python - 您如何编写几乎类型安全的代码,其中包含一个类中的对象列表?
- c++ - 无法从命令窗口运行可执行文件
- java - 获取特定列 JPA,Spring boot
- python - 如何从python中的嵌套字典中提取特定键的值并返回值列表
- python - 如何编写正则表达式从银行存折中提取帐号?
- ios - 来自 iOS 13 应用程序的 Xcode 内存图上约 500 个 NSZombie 警告