首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

hibernate 中get跟load的区别

2012-09-17 
hibernate 中get和load的区别hibernate中提供了两个方法get和load这两个方法,具体的实现方式如下:...get(U

hibernate 中get和load的区别

hibernate中提供了两个方法get和load这两个方法,具体的实现方式如下:

...get(User.class,id);

....load(Organization.class, id));

?

这两个方法中都是获取数据的意思

1.get方法是要先从内部缓存中去找数据,如果找不到数据就通过sql去数据库中去取,而load方法不会去数据库中取而是通过内部缓存(hibernate一级缓存)中找,如果找不到再到二级缓存中去找,如果缓存中都找不到对象的话,就会抛出异常org.hibernate.ObjectNotFoundException。

2.get方式会直接给数据库发出sql的申请,而load支持延迟加载lazy。

3.找不到符合条件的数据,get()方法将返回null。load()将会报出ObjectNotFoundEcceptio。

4.get()方法直接返回实体类。load()方法可以返回实体的代理类实例。


热点排行