【发布时间】:2016-10-21 21:26:58
【问题描述】:
我的 JPA 实体列表如下:
@OneToMany(mappedBy = "scadaElement", orphanRemoval = true)
private List<ElementParameter> elementParameters;
和地图形式ElementParameter
@ManyToOne
@JoinColumn(name = "SCADAELEMENT_ID")
ScadaElement scadaElement;
当我使用 elementParameters 列表获取实体并在其上执行流时,流什么也不做,即使我使用 .size() 触发列表但当我使用 for 循环执行相同操作时它也可以工作。
System.out.println("elements size: " + s.getElementParameters().size());
s.getElementParameters()
.stream()
.forEach(
a -> {
System.out.println("elementId: " + a.getId());
}
);
是否有任何解决方案可以使该流工作?我使用 eclipselink 作为 JPA 提供者。
【问题讨论】:
-
尝试最新的 EclipseLink 版本,因为您的可能没有内置到惰性集合中的支持。
标签: java jpa java-8 eclipselink java-stream