hibernate的session提供了一級緩存,每一個session,對同一個id進行兩次load,不會發送兩條sql給數據庫,可是session關閉的時候,一級緩存就失效了。 二級緩存是SessionFactory級別的全局緩存,它底下能夠使用不一樣的緩存類庫,好比ehcache、oscache等,須要設置hibernate.cache.provider_class,咱們這裏用ehcache,在2.1中就是 hibernate.cache.provider_class=net.sf.hibernate.cache.EhCacheProvider 若是使用查詢緩存,加上 hibernate.cache.use_query_cache=true