我和一个在Hibernate社区发布了同样问题的人有一样的问题:FetchProfiles。
出于性能原因,我的数据模型中有以下关系:
...C -[FetchType.LAZY]-> D -> [FetchType.LAZY] -> E
使用FetchProfile,我可以预加载C和D,但我不知道如何预加载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向下使用点符号表示关联。我只能找到一个深度为一的示例。
这是我知识上的强迫症式空缺需要填补!
提前感谢任何帮助。