gpt4 book ai didi

java - 如何修改实体管理器的查询缓存?

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:21 25 4
gpt4 key购买 nike

在我的情况下,清除整个查询缓存非常昂贵,因此我只想清除特定的查询缓存。

假设我执行了以下 hql 查询:

SELECT FROM Car c WHERE c.id = 22

下次,我想强制 hibernate 从数据库中获取结果,而不是获取查询缓存中的结果。

观察:关闭查询缓存或清除整个缓存都不是有效的选项。我根本不能妥协性能。

最佳答案

使用 hibernateQuery.setCacheMode(CacheMode.REFRESH) 禁用查询缓存。

程序化失效:

创建查询时设置区域名称hibernateQuery.setCacheRegion("car22"),然后使其无效session.getSessionFactory().getCache().evictQueryRegion("car22");

关于java - 如何修改实体管理器的查询缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55484361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com