Bence oldukça yaygın olduğunu düşündüğüm bir soru var ama bir cevap bulamıyorum.hibernate @ManyToMany bidirectional istekli alma
2 nesnem var: Grup ve Kullanıcı. Ben veritabanından bir kullanıcı almaya çalışırken
class Group
{
@ManyToMany(fetch = FetchType.EAGER)
List<User> users;
}
class User
{
@ManyToMany(fetch = FetchType.EAGER)
List<Group> groups;
}
Şimdi, onun grupları ve tüm grupların hepsi çok tüm kullanıcılarına getirmek ve getiriyor: Derslerim şuna benzer. Son olarak, stackoverflow istisnası alıyorum.
Bu sorunu nasıl çözebilirim ve hala çift yönlü ilişkilendirme ve listelerindeki nesnelere ulaşma yeteneğim var mı? Eğer mappedBy
özelliğini (yine kullanması gerektiğini) kullanılarak dernek tarafını sahip senin iki yönlü Q bağlantılı kenarlarından birini yaparsanız
evet. aynı şey olur. Ben her liste için tüm liste nesneleri getirmek için hazırda beklemede ihtiyaç duyduğunu ve sonsuz bir döngü olduğunu anlamış olabilir. Benim sorum ise, hazırda bekletme derinliğini sınırlamak mümkün ise (fetch_max_depth gibi ama çoktan çoğa). – refaelos
@Rafa Aslında, Hazırda bekletme döngüsünü algılamasını ve uygun şeyi yapmasını beklerdim (ancak bunu test etmek için zaman almadım). Öte yandan, çoktan çoğunun iki tarafının hevesli bir şekilde yüklenmesi, iyi bir fikir gibi görünüyor. –