关于get/load检索

   hibernate的学习过程中,关于get()/load()这二种检索方式,发表下自己的一些见简:
首先它们都会先到缓存(session缓存/二级缓存!需配置)中去查,不同的是:如果没有,load会返回一个代理对象并不会到DB中去找,而get()会马上发出select请求到DB中去查 ;如果查不到数据,load会抛出异常而get返回null值。当存在数据,第一次查询到数据,它们都会放到缓存中,当第2次或n次后,都是直接在缓存中取,并不会发出select请求再次到DB中查。当查询的对象次数很多时,数据会从二级缓存放到一级缓存中去。

猜你喜欢

转载自wslsq2014.iteye.com/blog/1958582