JPA學習筆記(14) 查詢快取

2021-08-06 04:34:47 字數 1087 閱讀 2161

執行以下**:

string jpql = "from user u where u.id = ?";

query

query = entitymanager.createquery(jpql);

query.setparameter(1, 1);

user user = (user) query.getsingleresult();

query = entitymanager.createquery(jpql);

query.setparameter(1, 1);

user = (user) query.getsingleresult();

很顯然會執行兩次查詢

如果想要使用快取,只查詢一次,可以使用sethint

string jpql = "from user u where u.id = ?"

;query query = entitymanager.createquery(jpql).sethint(queryhints.hint_cacheable, true);

query.setparameter(1, 1);

user user = (user) query.getsingleresult();

query = entitymanager.createquery(jpql).sethint(queryhints.hint_cacheable, true);

query.setparameter(1, 1);

user = (user) query.getsingleresult();

注意:這裡的queryhintsorg.hibernate.ejb.queryhints包下的,並且,使用查詢快取的前提是在配置檔案中配置了啟用查詢快取

name="hibernate.cache.use_query_cache" value="true"/>

django 學習筆記 14 快取機制

快取設定在settings 檔案 的 cache backend 中。這裡是乙個cache backend 所 有可用值的解釋。memcached 是迄今為止可 用於django 的最快,最有效的快取型別,memcached 是完全基於記憶體的快取框架,在安裝了memcached 本身之後,你將需要...

jpa 14 二級快取

在src 下增加乙個配置檔案 ehcache.xml 這個檔案直接拷貝來用即可了,不用理會裡面的內容。有須要的時候再研究也不遲 在 project etc目錄下拷貝過來 節點 若 jpa 實現支援二級快取,該節點可以配置在當前的持久化單元中是否啟用二級快取,可配置如下值 all 所有的實體類都被快取...

JPA學習筆記 二級快取

預設情況下開啟一級快取,如下 test public void testsecondlevelcache test public void testsecondlevelcache 下面配置二級快取 persistance.xml org.hibernate.ejb.hibernatepersist...