我正在从我的 EJB Bean 查询数据库,它是 DAO,我的查询看起来像:
public List findDirectories()
{
allDirectories = getHibernateTemplate().find("from " + Directory.class.getName() +
" d order by upper(d.name)";);
return allDirectories;
}
我想缓存这个结果,我该怎么做,有没有我可以引用的例子。
我想做的就是在我的 EBJ Bean
中缓存上述查询的结果集,这样下次当页面刷新时,我就会从缓存中获取结果,而不是从数据库中获取结果。
更新:我正在使用旧版本的 EJB
,因此可以使用 EJB3
的很酷的功能
最佳答案
这里的总体思路是使用无状态 session EJB 来缓存和管理不经常更改的数据。如果数据出乎意料地发生变化,则偶尔更新 EJB。
Java EE 6 提供了一种略有不同的技术,单例 bean:http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html .
关于java - 如何在使用 hibernate 模板查询数据库的 EJB bean 中设置缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9069756/