简述hibernate中load查找和get查找的相同点
1个回答
关注
展开全部
咨询记录 · 回答于2021-11-10
简述hibernate中load查找和get查找的相同点
1.相同点:get 和load他们都可以通过指定的实体类与ID从数据库中读取数据,并返回对应的实例 2. 不同点:如果找不到符合条件的纪录,get()方法将返回null.而load()将会报出ObjectNotFoundEcception.2.1get 是直接从数据库中检索 而load会使用懒加载(延迟加载)产生一个代理对象,属性oid2.2 使用load加载,Hibernate会认为该id对应的对象是一定存在的,所以它可以放心的使用,没宴迅它可以放心的使用代理来 延迟加载该对象。在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,那没办法,只能抛异常。2.3 使用get加载,hibernate会确认一下该id对应的数据是枯此否存在,首祥虚先在session缓存中查找,然后在二级缓存中查找,还没有就查数据库,数据库中没有就返回null。
已赞过
评论
收起
你对这个回答的评价是?