什么是 Hibernate 延迟加载,如何实现延迟加载?

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在 Hibernate 中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在 Hibernate3 中还提供了对属性的延迟加载。延迟加载的过程:通过代理(Proxy)机制来实现延迟加载。Hibernate 从数据库获取某一个对象数据时、获取某一个对象的集合属性值时,或获取某一个对象所关联的另一个对象时,由于没有使用该对象的数据(除标识符外),Hibernate 并不从数据库加载真正的数据,而只是为该对象创建一个代理对象来代表这个对象,这个对象上的所有属性都为默认值;只有在真正需要使用该对象的数据时才创建这个真正的对象,真正从数据库中加载它的数据。通过lazy属性来控制懒加载机制,在映射文件中set标签中配置lazy属性,一般默认为true,lazy属性中有三个值,true为懒加载 false为不加载。extra为及其懒惰(当用户只需要订单数时发送聚合函数去查询)。

原文地址:https://www.cnblogs.com/WangMengyi/p/14272201.html