我们正在探索在两个级别上为我们的web应用程序使用Ehcache的选项。
用于Hibernate二级缓存的
的
现在我们有了以下问题,我们正在开发一些内容管理系统,所以我们将有一个后台办公室,我们将管理所有的内容和其他事情,另一个是UI部分。
对于UI部分,我可以配置过滤器,使它们只缓存UI的内容,而不进行后台缓存管理。
但真正的问题在于Hibernate第二级缓存,因为我们计划在UI部件中使用相同的DAO层,但是由于我们需要在相应的.hbm文件中配置缓存设置,这意味着缓存也适用于我们希望避免的后台办公室。
我们想要的是Hibernate二级缓存应该被激活,对于UI部件和后台,它不应该进入发挥,但似乎不可行,因为使用相同的DAO层,但我们不想重复DAO代码。
有没有办法在这方面实现this.Any的建议将是很有帮助的。
发布于 2011-04-30 09:50:04
在DAO中,需要将setCacheable(true)添加到查询中,因此基本上可以向DAO方法添加一个布尔参数,以传递给setCacheable(.)
Class YourDao {
public List loadStuff(Session session, boolean isCacheable) {
return session.createQuery("from Myentity").setCacheable(isCacheable).list();
}
}https://stackoverflow.com/questions/5806396
复制相似问题