我需要一种方法,通过它我可以多次避免相同的查询执行。 从代码的角度来看,我不需要任何帮助。高级方法会没问题。
目前我在不同的类中执行相同的hibernate查询,这些执行是同一请求的一部分。 截至目前,我正在使用请求级缓存来存储数据。后来我从缓存而不是DB中获取这些数据以提高性能。但是我想知道是否还有其他方法,我可以采用上述方法。
如果您可以提供帮助,将会非常有帮助。
由于
答案 0 :(得分:0)
您可以注册一个将实现ServletContextListener
的网络侦听器。
您需要实现contextInitialized
(应用程序部署)和contextDestroyed
(应用程序取消部署)。
@WebListener
public final class CacheBootstrap implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
// load data into cache (hql?)
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
// unload data from cache (hql?)
}
}