简述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。
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消