JPA Hibernate离开了连接获取生成多个查询

时间:2011-10-04 19:03:21

标签: hibernate jpa join fetch

我有一个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表数据。

对此方面的任何帮助表示高度赞赏。

1 个答案:

答案 0 :(得分:1)

也许是一个错字?

  left join fetch i.identifierReportedAreas -->ira<--
  left join fetch -->irc<---.reportedArea ra