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

Reh*_*man 5 java hibernate

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

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

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

谢谢

aur*_*ius 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?)
    }
}
Run Code Online (Sandbox Code Playgroud)