日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在Hibernate中启用实体和查询缓存

發布時間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Hibernate中启用实体和查询缓存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.簡介

在我執行過的與性能相關的任務中,這就是其中之一。 令人擔心的是,如果每次為特定實體調用相同的查詢,并且表數據在特定的時隙內不易更改,則我們可以使用Hibernate緩存查詢結果。 這意味著,如果我們需要ID為1234的Student的詳細信息,則查詢將僅針對第一個請求執行并訪問數據庫。 后續請求與查詢緩存中的結果一起提供。 這對我們注意到的響應時間產生了很大的影響。 在執行此操作時,我們還擔心緩存何時刷新。 我們將通過一個簡單的配置輕松地做到這一點,我們將對此進行探討。

如果應用查詢緩存,則不會將任何后續SQL語句發送到數據庫。 從查詢緩存中檢索查詢結果,然后使用緩存的實體標識符訪問第二級緩存。

2.實施

要啟用查詢緩存,下面是需要遵循的步驟集–

  • hibernate.cache.use_query_cache屬性設置為true ,并確保啟用了第二級緩存 。 單擊此鏈接以了解二級緩存。 <bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop><!-- Enable second level cache --><prop key="hibernate.cache.use_second_level_cache">true</prop><prop key="hibernate.cache.use_query_cache">true</prop><prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop><prop key="net.sf.ehcache.configurationResourceName">/ehCache.xml</prop></props></property><property name="mappingResources"><list><value>User.hbm.xml</value></list></property> </bean>
  • 完成后, org.hibernate.cache.internal.StandardQueryCache保存緩存的查詢結果。
  • 在ehCache配置文件中,添加以下代碼段– <cache name="org.hibernate.cache.StandardQueryCache" maxElementsInMemory="10000" eternal="false" timeToLiveSeconds="86400" overflowToDisk="false" memoryStoreEvictionPolicy="LRU" />
  • 查詢緩存不會在緩存中緩存實際實體的狀態。 它緩存標識符值和值類型的結果。 因此, 對于那些應作為查詢結果緩存的一部分緩存的實體 ,請始終將查詢緩存與第二級緩存結合使用 – https://docs.jboss.org/hibernate/orm/4.0/devguide/zh- US / html / ch06.html
  • 要按照第4點的指示緩存相關實體,我們需要將以下代碼段添加到XML實體映射文件中,如下所示: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping><class name="Employee" table="EMPLOYEE"><cache usage="transactional" include="non-lazy" /><id name="id" type="int" column="ID"><generator class="native"/></id><property name="firstName" column="FNAME" type="string"/><property name="lastName" column="LNAME" type="string"/></class> </hibernate-mapping>

    上面的內容確保實體的非惰性組件作為查詢結果緩存的一部分被緩存。

  • 涵蓋了以上所有要點之后,最后一點是顯式啟用對單個查詢的查詢緩存,如下所示: Query query = session.createQuery("FROM EMPLOYEE"); query.setCacheable(true); List users = query.list();
  • 完成所有這些操作之后,也許您可??以在調試模式下啟動服務器,然后看看魔術發生了!

    翻譯自: https://www.javacodegeeks.com/2016/04/enabling-entity-query-cache-hibernate.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的在Hibernate中启用实体和查询缓存的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 中文字幕人妻一区二区三区在线视频 | 91麻豆精品国产91久久久久久 | 亚洲咪咪 | 日av在线播放 | 九九九国产 | 性色网站| 欧美黄色免费看 | 本道久久 | 亚洲第一黄色 | 玉女心经在线看 | 男女精品视频 | 最好看的2019年中文在线观看 | 国产日b视频 | 国产精品久久久久无码av | 在线激情av | 免费久久网站 | 女优视频在线观看 | 国产国语性生话播放 | 曰韩精品| 欧美老肥妇做爰bbww | 国产精品一区二区久久久 | 内射无码专区久久亚洲 | 善良的女朋友在线观看 | 欧美性成人 | 可以看污的网站 | 污污内射久久一区二区欧美日韩 | 欧美亚洲免费 | 777视频在线观看 | 91丝袜呻吟高潮美腿白嫩 | sese久久| 香港日本韩国三级网站 | 久久久久亚洲av无码麻豆 | 波多野结衣亚洲天堂 | 成人国产在线观看 | 中文幕无线码中文字夫妻 | 国产99热 | 欧美在线一级视频 | 亚洲色图综合网 | 欧美brazzers| 大黑人交交护士xxxxhd | 国产淫片av片久久久久久 | 亚洲色图在线视频 | 欧美一线天 | 好看的毛片 | www.久久视频 | 在线能看的av网站 | 自拍偷自拍亚洲精品播放 | 人人爽人人爽人人爽 | 日本最黄网站 | 神马午夜在线 | 日本五十路在线 | 久久午夜伦理 | 国产激情视频一区 | 欧美污污视频 | 水蜜桃久久| 久草免费在线播放 | 日狠狠| 91私拍| 天天干夜夜夜 | 日韩超碰| 日本人六九视频 | 国产高清免费在线播放 | 卡一卡二在线视频 | 91精品国产综合久久久久久久 | 在线观看毛片视频 | 日本激情网址 | 国精产品一区一区三区免费视频 | 波多野结衣视频在线看 | 中文字幕免费视频观看 | 国产人伦精品一区二区三区 | 一区二区三区韩国 | 欧美粗暴jizz性欧美20 | 丝袜美腿av在线 | 中文字幕乱码视频 | 性欧美丰满熟妇xxxx性久久久 | 欧美一级生活片 | 精品久久成人 | 日韩久久久久 | wwwxxx亚洲| 欧洲熟妇的性久久久久久 | 在线亚洲人成电影网站色www | 久久久久一区二区精码av少妇 | 特色特色大片在线 | 亚洲天堂男人 | 国产精品久久久久久久久久直播 | 久久怡春院 | 韩国美女福利视频 | 久久婷婷av | 99cao | 成人福利影院 | 影音先锋每日资源 | 草草影院在线播放 | 成人h动漫在线 | 国产超91 | 一级久久久久久 | 无码av免费精品一区二区三区 | 日韩国产一级 | 日本一区二区三区四区在线观看 | 在线看h网站|