get 与 load 的差异
get 与 load 的区别
load:不会马上发出查询语句,因为load支持lazy(延迟加载/懒加载)。lazy是当真正使用这个对象的时候,再创建,对
于hibernate来说才真正的发出查询语句,主要是为了提高性能,lazy是hibernate中非常重要的特性。
hibernate的lazy是采用代理对象实现,代理对象主要采用CGLIB库生成的,而不是JDK动态代理,因为JDK的动态代
理只能对实现了接口的类生成代理,CGLIB可以对类生成代理,它采用的是继承方式。
查询不存在时抛ObjectNotFoundException;
get:会马上发出查询语句。查询不存在的时候返回null