我读过这篇文章。我无法按照这篇文章中的建议获得整个对象。我得到 MIN,MAX,Count 值。于是发了新帖。以下是我想要的和我拥有的。
- 我的 Spring 应用程序不会对 DB(MySQL) 进行任何更改。它只是读取数据。它不会知道对数据库中现有数据所做的更改。
我所有的查询都返回标量数据。不是整个对象。(例如
Select employee.name,office.address,MIN(employee.rec) from ... where..
:)我希望我的查询被缓存。所以我在休眠配置中启用了查询缓存。并添加
cacheable="true"
到我的命名查询中。
4.我启用了二级缓存。
5.为持久性类添加了以下注释。
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
6.我想每24小时刷新一次缓存。因此timeToLiveSeconds
在 ehcache.xml 中更新defaultCache
。
这是正确的方法吗?如何从查询缓存中知道查询是否命中二级缓存?
更新:我添加了统计信息,二级缓存没有命中/未命中。