Как заставить Hibernate FetchProfile загружать глубокие дочерние объекты в иерархии

У меня тот же вопрос, что и у кого-то из сообщества 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 вниз. Я могу найти только примеры, глубина которых равна единице.

Это пробел типа ОКР в моих знаниях, который необходимо заполнить!

Заранее благодарим за любую помощь.

9
задан DataNucleus 25 March 2011 в 11:38
поделиться