[英]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.