`

get 与 load 的区别

阅读更多

 load:不会马上发出查询语句,因为load支持lazy(延迟加载/懒加载)。lazy是当真正使用这个对象的时候,再创建,对

         于hibernate来说才真正的发出查询语句,主要是为了提高性能,lazy是hibernate中非常重要的特性。

         hibernate的lazy是采用代理对象实现,代理对象主要采用CGLIB库生成的,而不是JDK动态代理,因为JDK的动态代 

         理只能对实现了接口的类生成代理,CGLIB可以对类生成代理,它采用的是继承方式。

         查询不存在时抛ObjectNotFoundException;

get:会马上发出查询语句。查询不存在的时候返回null

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics