Chinaunix首页 | 论坛 | 博客
  • 博客访问: 43159
  • 博文数量: 10
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-03 10:23
文章分类

全部博文(10)

文章存档

2011年(1)

2008年(9)

我的朋友
最近访客

分类: Java

2008-09-28 09:48:04

Hibernate中load方法与get方法的区别
 
load()方法:
当程序调用load方法时,hibernate会认为拥有该id的对象一定存在数据库中,返回的是代理实体。万一数据库查找不到,会抛出异常ObjectNotFoundException;hibernate执行策略为先从缓存中查找,如果找到返回代理实体,如果没有找到再到二级缓存查找,如果找不到再创建代理到数据库查找返回。万一找不到,就会抛出找不到对象ObjectNotFoundException异常。
 
get()方法:
程序调用get()方法,hibernate首先从缓存中查找,找不到再到二级缓存,再找不到就直接到数据库查找返回。如果找不到会返回null。
 
get()方法返回的是实体,load()方法返回的是代理实体。
阅读(686) | 评论(0) | 转发(0) |
0

上一篇:给自己的忠告

下一篇:jsp自定义标签

给主人留下些什么吧!~~