Hibernate持久化对象的三种状态(2)

特点:get加载上来的对象为持久对象;执行get会马上发出查询语句;get方法查询数据库中存在的数据;get方法查询数据库中不存在的数据,如果不存在返回null;get永远不支持lazy

Load方法

特点:与get方法相同的是加载出来的数据也是持久化的;不会马上发出查询语句,因为load支持lazy(延迟加载/懒加载),什么叫lazy?只有真正使用这个对象的时候,再创建,对于hibernate来说才真正的发出查询语句,主要是为了提高性能,lazy是hibernate中非常重要的特性。hibernate的lazy是如何实现的?采用代理对象实现,代理对象主要采用的是CGLIB库生成的,而不是JDK的动态代理,因为JDK的动态代理只能对实现了接口的类生成代理,CGLIB可以对类生成代理,它采用的是继承方式;采用load查询不存在的数据hibernate会抛出ObjectNotFoundException异常;load默认的是支持lazy

Update方法

特点:先加载再更新

Delete方法

特点:先加载再删除

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/bf2b537f59707fc7ef714fc97160ea73.html