Java 如何修改实体管理器';什么是查询缓存?

Java 如何修改实体管理器';什么是查询缓存?,java,hibernate,jpa,caching,Java,Hibernate,Jpa,Caching,在我的情况下,清除整个查询缓存非常昂贵,因此我只想清除特定的查询缓存 假设我已经执行了以下hql查询: SELECT FROM Car c WHERE c.id = 22 下一次,我将强制hibernate从数据库中获取结果,而不是获取查询缓存中的内容 观察:关闭查询缓存或清除整个缓存都不是有效选项。我完全不能影响性能。使用hibernateQuery.setCacheMode(CacheMode.REFRESH)禁用查询缓存 程序失效: 在创建查询时设置区域名称hibernateQuery.

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

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

SELECT FROM Car c WHERE c.id = 22
下一次,我将强制hibernate从数据库中获取结果,而不是获取查询缓存中的内容


观察:关闭查询缓存或清除整个缓存都不是有效选项。我完全不能影响性能。

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

程序失效:


在创建查询时设置区域名称
hibernateQuery.setCacheRegion(“car22”)
,然后使其无效
session.getSessionFactory().getCache().ReceiveQueryRegion(“car22”)

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

程序失效:

在创建查询时设置区域名称
hibernateQuery.setCacheRegion(“car22”)
,然后使其无效
session.getSessionFactory().getCache().ReceiveQueryRegion(“car22”)