簡體   English   中英

如何修改實體管理器的查詢緩存?

[英]How to modify entity manager's query cache?

在我的情況下,清除整個查詢緩存確實非常昂貴,因此我只想清除特定的查詢緩存。

假設我已執行以下hql查詢:

SELECT FROM Car c WHERE c.id = 22

在下一次,我想強制休眠從數據庫中獲取結果,而不是獲取查詢緩存中的內容。

觀察結果:關閉查詢緩存或清除整個緩存都不是有效的選項。 我完全不能犧牲性能。

使用hibernateQuery.setCacheMode(CacheMode.REFRESH)禁用查詢緩存。

程序無效:

創建查詢時設置區域名稱hibernateQuery.setCacheRegion("car22") ,然后使其無效session.getSessionFactory().getCache().evictQueryRegion("car22");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM