Witam
mam 3 tabele, nazwijmy A, B, C, które są w takiej relacji (pomijam nieistotne dane)
class A {
@OneToOne
B b;
}
class B {
@OneToMany
List<C> c;
}
class C {
String cos;
@ManyToOne
B b;
}
Teraz jeśli chcę dostać wiersze B na podstawie danych w C to tworzę NamedQuery:
SELECT b FROM B b JOIN b.c AS cc WHERE cc.cos = ?1
Pytanie co muszę zrobić jeśli chcę dostać wiersze A na postawie tych danych? Próbowałem JOIN A z B, a potem B z C, ale wyskoczył błąd składni (unexpected JOIN)
SELECT a FROM A a JOIN a.b AS bb JOIN bb.c AS cc WHERE cc.cos = ?1