我和Hibernate社区中发布的人有相同的问题:FetchProfiles.
出于性能原因,我在数据模型中有如下关系:
...C -[FetchType.LAZY]-> D -> [FetchType.LAZY] -> E
Run Code Online (Sandbox Code Playgroud)
使用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)
})
Run Code Online (Sandbox Code Playgroud)
我为会话启用了FetchProfile并成功使用了session.get而没有错误,并且填充了C和D - E仍然是懒惰且未填充的.无奈之下,我记得从C向下尝试点关联.我只能找到深度为1的示例.
据我所知,这是一个需要填充的OCD类型差距!
在此先感谢您的帮助.