gpt4 book ai didi

grails - 什么是渴望获取和懒惰获取?

转载 作者:行者123 更新时间:2023-12-01 15:44:57 24 4
gpt4 key购买 nike

我是 Grails 的新手,我遇到了 Eager 和lazy fetching 这个名字。他们究竟是什么?如果答案解释了何时应该使用这些技术中的每一种,那将会非常好?

提前致谢。

最佳答案

假设您有一个带有 Person 表和地址表的简单数据库模式。如果你从数据库中加载一个人,你有两个选择:

  • 急切地加载地址,以便从数据库中返回人员和地址,可能在一次往返中。无论是否需要或使用它,它都会立即加载。
  • 延迟加载地址,这意味着在需要之前不要加载它。

  • 这只是一个例子,还有很多其他例子,拿这个例子来说,用c#写的,但应该很明显:
    private ExpensiveObjectToCreate lazy;
    private ExpensiveObjectToCreate eager = new ExpensiveObjectToCreate();

    public ExpensiveObjectToCreate Lazy
    {
    get
    {
    if(lazy == null)
    {
    lazy = new ExpensiveObjectToCreate();
    }
    return lazy;
    }
    }
    public ExpensiveObjectToCreate Eager
    {
    get
    {
    return eager;
    }
    }

    关于grails - 什么是渴望获取和懒惰获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7214454/

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