我如何在JPA对象上使用Java Stream API? [重复]

问题描述 投票:0回答:1
我有一个类似的清单

@OneToMany private List<Personal> personal;

稍后我要过滤结果

List<Integer> ist = personal.stream().map(p -> p.getPnr()).collect(Collectors.toList());

但是我总是得到一个空清单。当我为循环创建旧学校时,事情按预期进行。我在fetch=FETCH_TYPE.EAGER批注中添加了@OneToMany,但是并不能解决问题。 

调试器说,在运行时,“个人”是“间接列表”。这是问题吗?而我该如何解决?


正常工作的代码

List<Integer> ist = new ArrayList<>(); for (Personal p : personal) ist.add(p.getPnr());

java jpa java-8 java-stream eclipselink
1个回答
0
投票
List<Integer> ist = new ArrayList<>(personal).stream().map(p -> p.getPnr()).collect(Collectors.toList());
© www.soinside.com 2019 - 2024. All rights reserved.