Cześć,
mam problem z filtrowaniem tabeli po propertkach znadujących się w tabeli, z która jest w relacji OneToMany, podglądowo
class A {
@OneToMany(fetch.. mappedBy)
private List<B> b;
}
class B {
private String property1;
private String property2;
}
Używając specyfikacji robię joina, dodaje Predicate który mówi, że chcemy pobrać tylko te które mają property1 = "ABC", (root.join(B).get(property1).equals("ABC")). W takim przypadku pobierze mi wszystkie obiekty klasy A, które mają chociaż jeden rekord B spełniający podane kryteria. Mój problem jest taki, że chciałbym by również Obiekty klasy B zostały przefiltrowane po podanych kryteriach jeśli kryteria dotyczą klasy B, jak to ugryźć? W tej chwili tworzą mi się dwa query, jedno by ściągnąć wszystkie A które spełniają podane kryteria, drugie query by ściągnąć wszystkie B, które są w relacji do znalezionych A. Bardzo prosiłbym o wskazanie jaką drogę wybrać by rozwiązać to wyzwanie :)