首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

load / get 差别

2012-10-24 
load / get 区别结合网上整理的关于load/get区别1. 查找不存在记录时,get返回null, load抛ObjectNotFoundE

load / get 区别
结合网上整理的关于load/get区别
1. 查找不存在记录时,get返回null, load抛ObjectNotFoundException
2. 当调用session.get()时,hibernate 会先去缓存(包括一级,二级)找,有则立即返回, 没有则立刻发sql,到db中去查。
当调用obj = session.Load(A.class, id)时,hibernate 返回代理对象,不会马上发sql去DB查,只有真正用到该对象的数据时(如obj.getName()), hibernate 先去缓存查找(一级,二级),如有,则返回,如没有则发sql到db中去查,如没有该id,则抛异常

使用场景:
1。如果加载对象目的为了访问其属性,用get
2。如加载对象为了删除或者建立与其它对象的关联关系,用load

热点排行