gpt4 book ai didi

orm - fetch ="EAGER"和 fetch ="LAZY"在学说上有什么区别

转载 作者:行者123 更新时间:2023-12-03 05:53:38 29 4
gpt4 key购买 nike

Doctrine中注解@ManyToOne中的fetch="EAGER"fetch="LAZY"有什么区别?

/**
* @ManyToOne(targetEntity="Cart", cascade={"all"}, fetch="EAGER")
*/

/**
* @ManyToOne(targetEntity="Cart", cascade={"all"}, fetch="LAZY")
*/

最佳答案

简单解释一下,当你加载一个实体时,如果它与一个或多个实体有关联,那么原则应该做什么?

如果关联被标记为EAGER,它也会获取并加载关联的实体。

如果关联被标记为LAZY,则学说将创建代理对象(虚拟对象)来代替实际实体。仅当您第一次调用关联实体(例如 $cart->getItems())时,学说才会从数据库中获取并加载该对象。 (这是default Behaviour)

引用:https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/advanced-configuration.html#association-proxies

关于orm - fetch ="EAGER"和 fetch ="LAZY"在学说上有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26891658/

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