gpt4 book ai didi

orm - Extbase:在运行时选择延迟加载或预先加载

转载 作者:行者123 更新时间:2023-12-04 15:47:08 26 4
gpt4 key购买 nike

我有一个域对象 Foo,它与域对象 Bar 有 1:n 的关系。

有两个主要用例,我需要让所有 foo 匹配某个标准。在情况 A 中,我关心连接到每个 foo 的条,在情况 B 中,我不关心。有相当多的条,所以简单地总是加载条对情况 A 的性能不利。同样,不急切地加载条会导致情况 B 中的 n+1 雪崩。所以既不将房地产标记为 @Lazy也不标记它是正确的选择。

现在,我的问题是:是否可以在查询时告诉 extbase 持久层是懒惰还是渴望?如果是,如何?如果不是,Extbase 中是否有另一种方法来避免 n+1 问题(即加载所有必要的条形,然后希望在遍历 foos 时缓存有效)?

当然,我最后的手段是使用延迟加载来加载 foos,在第二个查询中手动加载条形图,然后手动设置关系。

有什么建议?

最佳答案

在过去的几个月里,我一直在玩 Extbase 并深入研究内部结构,结果是:这是不可能的。

我想这结束了这个问题,尽管不是我想要的方式。

实际上,更糟糕的是:根本没有实现预加载,根据文档为关系设置预加载的@eager 标记被忽略。

关于orm - Extbase:在运行时选择延迟加载或预先加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9569508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com