database - 在 ORM 中, "lazy loading"是否意味着您可能无法从较大的列中获得预期的结果?

标签 database orm lazy-loading

我在读到有关 ORM 的一项称为延迟加载的功能,它说这意味着较大的列仅在应用程序实际需要它们时才加载。 ORM 将如何决定什么是“大列”——例如,与无符号整数列相比,这是一个可以包含大量数据的 blob 列吗?当它说它延迟加载该列时,这是否意味着当您运行查询时,您可能无法按预期获得某些较大列的结果?

最佳答案

在 NHibernates 的情况下,延迟加载会阻止在对象上加载集合属性(通常通过连接另一个表或子选择),直到您访问集合属性。

例如,您可能想要加载所有客户,但如果客户有一个订单属性(订单集合),您可以加载所有没有订单的客户,然后延迟加载特定客户的订单您想查看订单。

当您不一定需要预先获取所有数据时,这可以节省许多数据库调用。

关于database - 在 ORM 中, "lazy loading"是否意味着您可能无法从较大的列中获得预期的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1197967/

相关文章:

javax.persistence.PersistenceException : No Persistence provider for EntityManager named customerManager

angular - 在 Angular 2 中加载延迟加载模块时显示事件指示器

php - "caching"php 中的数据库值数组(2 个选项,哪个更好?)

arangodb - 1000+用户,30+私密数据集

javascript - Sequelize.js - 在不获取另一个对象的情况下在 save() 上添加关联

delegates - 使用 Ninject 进行惰性泛型委托(delegate)初始化

javascript - 简单 'lazy loading'图像的正确方法

android - 如何从数据库获取项目的值并将其设置为微调器值

mysql - 如何使用 SUBSTR 优化查询

用于 MS-Access 的 Python ORM