【问题标题】:Olingo greedy $expandOlingo 贪婪 $expand
【发布时间】:2014-08-21 21:36:23
【问题描述】:

我在 Hibernate 之上使用 Olingo 1.2。

我有一个返回 250 行的请求,每行以一对多的关系链接到另一个表。

我执行 $expand 以获取子表中的所有数据,但是当我检查在数据库中执行的查询时,似乎有 251 个单独的调用正在进行,一个用于返回 250 行的主表,然后一个用于每一行都返回子记录。

查看 Olingo 代码,这种惰性方法是设计使然。

我在 Microsoft ODATA 处理器上测试了 $expand,在这种情况下他们使用了贪婪的方法。

我的问题是:我如何切换 Olingo 以使用 $expand 的贪婪方法(即将加入向下推到数据库中)?

【问题讨论】:

    标签: odata olingo


    【解决方案1】:

    您看到生成的查询是 Hibernate 的结果,而不是 Olingo。这是 Hibernate 用来为子表生成查询的默认方式。您需要查看 Hibernate 中的 @Fetch(FetchMode.Join) 注释并将其应用于您的关系。请查看此链接以获取说明:

    https://stackoverflow.com/a/11077041/3873392

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多