Olingo贪婪$扩大

时间:2014-07-01 10:46:05

标签: odata olingo

我在Hibernate之上使用Olingo 1.2。

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

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

看看Olingo代码,这种懒惰的方法是设计的。

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

我的问题是:我如何切换Olingo使用贪婪的方法进行$ expand(即将联接推送到数据库中)?

1 个答案:

答案 0 :(得分:0)

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

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