我需要一种方法来避免多次执行相同的查询。 从代码的角度来看,我不需要任何帮助。高级方法会很好。
目前我正在不同的类中执行相同的 hibernate 查询,这些执行是同一请求的一部分。 截至目前,我正在使用请求级缓存来存储数据。后来我从缓存而不是数据库中获取这些数据以提高性能。但是我想知道除了上述方法之外是否还有其他方法可以遵循。
如果你能在这方面提供帮助,那将非常有帮助。
谢谢
最佳答案
您可以注册一个将实现 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?)
}
}
关于java - 如何避免多次执行相同的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39631946/