如何多次避免相同的查询执行?

时间:2016-09-22 06:40:28

标签: java hibernate

我需要一种方法,通过它我可以多次避免相同的查询执行。 从代码的角度来看,我不需要任何帮助。高级方法会没问题。

目前我在不同的类中执行相同的hibernate查询,这些执行是同一请求的一部分。 截至目前,我正在使用请求级缓存来存储数据。后来我从缓存而不是DB中获取这些数据以提高性能。但是我想知道是否还有其他方法,我可以采用上述方法。

如果您可以提供帮助,将会非常有帮助。

由于

1 个答案:

答案 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?)
    }
}