我们的应用程序处理只读数据,因此我们正在考虑对所有查询使用 Hibernate 查询缓存功能(由 ehcache 实现)。
到目前为止,我们启用了二级缓存和查询缓存:
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
然后告诉hibernate每个查询都是可缓存的:
query.setHint("org.hibernate.cacheable", true);
我可以从这种方法中找出两个缺点:
代码冗余(因为您必须为每个查询手动添加提示)
hibernate 依赖(到目前为止,代码从直接的
hibernate 引用中清除,仅使用 JPA 注释)
有没有办法实现这一点,即缓存所有查询,只使用配置文件?
谢谢!