Hibernate 笔记5 load和get方法的区别

 

load和get方法的区别

 

1)当数据库不存在对应ID数据时.

 

            调用load()方法将会抛出ObjectNotFoundException异常。

            调用get()方法将返回null。

 

2)延时加载(lazy)

 

load的方法默认要加载的对象是存在数据库中的,返回的是一个代理对象而不是一个真正的类实例,当用到具体与数据库有关的数据时候才查询数据库。

get方法,没有lazy属性,直接查询数据库,返回类的实例。

3)缓存

get方法首先查询session缓存,没有的话查询二级缓存,最后查询数据库;

load方法创建时首先查询session缓存,没有就创建代理,实际使用数据时才查询二级缓存和数据库。

 

posted @ 2011-11-03 19:36  蓝冰竹斋  阅读(427)  评论(0编辑  收藏  举报