使用hibernate二级缓存或查询缓存进行延迟获取查询

使用hibernate二级缓存或查询缓存进行延迟获取查询,hibernate,caching,lazy-loading,second-level-cache,Hibernate,Caching,Lazy Loading,Second Level Cache,我使用ehcache 2.5.2库成功地将hibernate 3.6.2设置为使用二级缓存 我可以在日志和统计信息中看到实体填充了二级缓存,并且我希望可以缓存的查询被缓存 当我在hbm.XML文件中使用XML配置时,所考虑的类具有 <cache usage="read-write"/> 但是,hibernate不会缓存它生成的查询来执行实体或集合的延迟加载。我可以在postgresql日志中看到它们以相同的参数反复执行 是否有执行此操作的配置?您只需确保使用@Cache注释映射了类

我使用ehcache 2.5.2库成功地将hibernate 3.6.2设置为使用二级缓存

我可以在日志和统计信息中看到实体填充了二级缓存,并且我希望可以缓存的查询被缓存

当我在hbm.XML文件中使用XML配置时,所考虑的类具有

<cache usage="read-write"/>
但是,hibernate不会缓存它生成的查询来执行实体或集合的延迟加载。我可以在postgresql日志中看到它们以相同的参数反复执行


是否有执行此操作的配置?

您只需确保使用
@Cache
注释映射了类和关系

您可以在此处阅读更多信息:


你说得很对,我只是看错了医生。DTD指示在.hbm.xml文件中放置元素的位置,例如作为或的子元素。然后它就完美地工作了。谢谢
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=org.hibernate.cache.EhCacheProvider
hibernate.cache.use_query_cache=true