我有一个jpql查询来急切地获取多级关联,如下所示
select distinct s from Singer s
left join fetch s.singerIdentifiers si //singerIdentifiers is collection in Singer object
left join fetch si.identifier i
left join fetch i.identifierReportedAreas ira
left join fetch irc.reportedArea ra
left join fetch rc.reportingSystem rs
where s.id in (?);
这会产生多个查询,但我在第一个选择中获得了所有必需的信息。所有额外查询用于从第一查询查询不同IdentifierIds的SingerIdentifier表数据。
对此方面的任何帮助表示高度赞赏。
答案 0 :(得分:1)
也许是一个错字?
left join fetch i.identifierReportedAreas -->ira<--
left join fetch -->irc<---.reportedArea ra