load和get方法的区别
1)当数据库不存在对应ID数据时.
调用load()方法将会抛出ObjectNotFoundException异常。 调用get()方法将返回null。
2)延时加载(lazy)
load的方法默认要加载的对象是存在数据库中的,返回的是一个代理对象而不是一个真正的类实例,当用到具体与数据库有关的数据时候才查询数据库。 get方法,没有lazy属性,直接查询数据库,返回类的实例。 3)缓存 get方法首先查询session缓存,没有的话查询二级缓存,最后查询数据库; load方法创建时首先查询session缓存,没有就创建代理,实际使用数据时才查询二级缓存和数据库。
|
|
来自: 昵称21365845 > 《Hibernate相关》