mam poniżej podmioty:Multiple dołączyć pobrać w jednym zapytaniu JPQL
public class Category {
private Integer id;
@OneToMany(mappedBy = "parent")
private List<Topic> topics;
}
public class Topic {
private Integer id;
@OneToMany(mappedBy = "parent")
private List<Posts> posts;
@ManyToOne
@JoinColumn(name = "id")
private Category parent;
}
public class Post {
private Integer id;
@ManyToOne
@JoinColumn(name = "id")
private Topic parent;
/* Post fields */
}
i chcę pobrać wszystkie kategorie połączone z tematów i dołączył posty użyciu JPQL zapytania. Ja napisałem zapytanie jak poniżej:
SELECT c FROM Category c JOIN FETCH c.topics t JOIN FETCH t.posts p WHERE ...
Ale mam błąd
org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
znalazłem artykuły o tym błędzie, ale tylko te artykuły opisują sytuację, w której w jednym podmiocie są dwa zbiory się przyłączyć. Mój problem jest trochę inny i nie wiem jak go rozwiązać.
Jest to możliwe w jednym zapytaniu?
Przepraszam za mój zły język angielski, ale zazwyczaj mówią w innym języku
W końcu to artykuł: "Chociaż zawsze lepiej jest po prostu użyć indeksowanych list lub zestawów". Jak utworzyć listę indeksowaną? – Zaprogramowany
To jest temat innego pytania, na które jestem pewien, że już na nie odpowiedziano. –