场景:项目包含每周更新一次的参考数据。因此,不断地从数据库中查询每个事务的参考数据是不高效的。因此有缓存这些数据的动机。
问题:如果 Hibernate 中的二级缓存和查询缓存被激活,并且 hibernate 配置中的缓存元素设置为只读,那么如果通过另一个程序对数据库进行更改,hibernate 将如何知道何时更新缓存。这是由 Hibernate 自动处理的还是我们必须使用一些触发器来清除缓存?如果这是由 Hibernate 处理的,有人可以阐明这是如何处理的吗?
JBoss 文档对缓存的管理不是很清楚。
我目前正在使用带有 Spring 3.1 的 Hibernate 3.6,如果没有必要,我不希望升级到 Hibernate 4。