calmJava

          StillWaterRunsDeep
          隨筆 - 3, 文章 - 11, 評論 - 0, 引用 - 0
          數(shù)據(jù)加載中……

          Hibernate 緩存_1

          List blogs = sess.createQuery("from Blog blog where blog.blogger = :blogger")
              .setEntity("blogger", blogger)
              .setMaxResults(15)
              .setCacheable(true)
              .setCacheRegion("frontpages")
              .list();
          如果查詢需要強(qiáng)行刷新其查詢緩存區(qū)域,那么你應(yīng)該調(diào)用Query.setCacheMode(CacheMode.REFRESH)方法。 這對在其他進(jìn)程中修改底層數(shù)據(jù)(例如,不通過Hibernate修改數(shù)據(jù)),或?qū)δ切┬枰x擇性更新特定查詢結(jié)果集的情況特別有用。 這是對SessionFactory.evictQueries()的更為有效的替代方案,同樣可以清除查詢緩存區(qū)域。


          Session還提供了一個(gè)contains()方法,用來判斷某個(gè)實(shí)例是否處于當(dāng)前session的緩存中。

          如若要把所有的對象從session緩存中徹底清除,則需要調(diào)用Session.clear()。

          對于二級緩存來說,在SessionFactory中定義了許多方法, 清除緩存中實(shí)例、整個(gè)類、集合實(shí)例或者整個(gè)集合。

          sessionFactory.evict(Cat.class, catId); //evict a particular Cat
          sessionFactory.evict(Cat.class);  //evict all Cats
          sessionFactory.evictCollection("Cat.kittens", catId); //evict a particular collection of kittens
          sessionFactory.evictCollection("Cat.kittens"); //evict all kitten collections

          posted on 2011-01-05 21:30 calmJava 閱讀(75) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 辰溪县| 兰溪市| 滨海县| 榆社县| 宝坻区| 靖远县| 益阳市| 嘉禾县| 武定县| 石阡县| 芮城县| 大安市| 巴彦县| 洪泽县| 汝南县| 临颍县| 浠水县| 靖西县| 新丰县| 沛县| 河津市| 乌鲁木齐县| 安远县| 鹤岗市| 元氏县| 康定县| 肥东县| 沿河| 旌德县| 塔城市| 五大连池市| 缙云县| 壤塘县| 建阳市| 渝北区| 陇西县| 鹤岗市| 溧水县| 许昌市| 茶陵县| 保山市|