J'ai un scénario similaire :
public class A {
private String id;
@ManyToMany
private Set<B> bSet;
// getters and setters
}
et
public class B {
private String id;
// other attributes
// getters and setters
}
Comment puis-je trouver une instance de A
lorsque j'ai une instance de B
en utilisant le stream()
API ? J'essayais quelque chose comme :
public A findAFromB(B b) {
List<A> aList = aService.findAll();
Optional<A> matchingObject = aList.stream().filter({find a where a.getBSet().contains(b)}).getA();
return (A) matchingObject.get();
}
Comment écrire correctement ce filtre ?