У меня тот же вопрос, что и у кого-то из сообщества Hibernate: FetchProfiles .
По соображениям производительности у меня есть следующие отношения в модели данных:
...C -[FetchType.LAZY]-> D -> [FetchType.LAZY] -> E
Используя FetchProfile, я могу быстро загрузить D с помощью C, но я не могу понять, как с нетерпением загрузить E Я знаю, что могу успешно использовать NamedQuery, используя внутренние соединения, но меня действительно беспокоит то, что я не могу понять, как это сделать с помощью FetchProfile. Пример попытки FetchProfile (все остальное теряется в тумане времени):
@FetchProfile(name = "cwithDAndE", fetchOverrides = {
@FetchProfile.FetchOverride(entity = C.class, association = "dByCId", mode = FetchMode.JOIN),
@FetchProfile.FetchOverride(entity = D.class, association = "eByDId", mode = FetchMode.JOIN)
})
Я включаю FetchProfile для сеанса и успешно использую session.get без ошибок и заполненных C и D - E все еще ленив и не заполнен . В отчаянии я помню, как пытался обозначить ассоциацию с помощью точки, начиная с C вниз. Я могу найти только примеры, глубина которых равна единице.
Это пробел типа ОКР в моих знаниях, который необходимо заполнить!
Заранее благодарим за любую помощь.