【问题标题】:ebean fetch with multiple oneToMany relationship具有多个 oneToMany 关系的 ebean fetch
【发布时间】:2014-04-02 00:01:26
【问题描述】:

我有戏!使用 ebean 进行模型管理的框架项目。我有 4 个模型,A B C D。A 和 B 是 oneToMany,B 和 C 是 OneToMany,B 和 D 是一对多。现在我想要一个与所有相关 B C D 链接的 A 列表。

我现在拥有的是

A.find.fetch("Bs", new FetchConfig().query()).fetch("Bs.Cs", "Bs.Ds", new FetchConfig().query()).findList();

但是性能真的很差,根据 sql 日志,sql 查询没有按照我的意愿加入。 有什么方法可以对所有这些都使用查询连接吗? (即用 4 个查询选择所有 A B C D 并在本地加入它们,而不是为每个 B 单独查询?)

【问题讨论】:

    标签: mysql sql playframework ebean


    【解决方案1】:

    新的 FetchConfig.query() 的 javadoc ... 急切地将此路径中的 bean 作为单独的查询(而不是作为主查询的一部分)获取。

    也就是说,如果您想使用 SQL 连接而不是单独的查询,则应该删除 FetchConfig.query()。

    也就是说,Ebean 不会在单个查询中返回 A B C D,因为这会导致笛卡尔积,它会自动分解查询以避免这种情况。

    【讨论】:

      猜你喜欢
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多