load:不会马上发出查询语句,因为load支持lazy(延迟加载/懒加载)。lazy是当真正使用这个对象的时候,再创建,对
于hibernate来说才真正的发出查询语句,主要是为了提高性能,lazy是hibernate中非常重要的特性。
hibernate的lazy是采用代理对象实现,代理对象主要采用CGLIB库生成的,而不是JDK动态代理,因为JDK的动态代
理只能对实现了接口的类生成代理,CGLIB可以对类生成代理,它采用的是继承方式。
查询不存在时抛ObjectNotFoundException;
get:会马上发出查询语句。查询不存在的时候返回null
本文探讨了Hibernate框架中的Lazy加载机制,对比Load与Get方法的区别。详细解释了Lazy加载如何通过代理对象提升性能,并介绍了CGLIB库的应用场景及优势。
952

被折叠的 条评论
为什么被折叠?



