JPA Hibernate 左连接获取生成多个查询

发布于 2024-12-08 07:26:43 字数 492 浏览 0 评论 0原文

我有一个 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 (?);

这会生成多个查询,尽管我在第一个选择本身中获取了所有必需的信息。所有额外的查询都是为了查询 SingerIdentifier 表数据以获取与第一个查询不同的 IdentifierId。

非常感谢在这方面的任何帮助。

I have a jpql query to eagerly fetch multi level associations as follows

  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 (?);

This generates multiples queries, though I am getting all the required information in the first select itself. All extra queries are for querying SingerIdentifier table data for distinct IdentifierIds from the first query.

Any help in this regard is highly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

也许是拼写错误?

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

Maybe a typo?

  left join fetch i.identifierReportedAreas -->ira<--
  left join fetch -->irc<---.reportedArea ra
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文