2

我使用 ehcache 2.5.2 库成功设置了休眠 3.6.2 以使用二级缓存。

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

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

<cache usage="read-write"/>

子元素。

定义了以下属性:

hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=org.hibernate.cache.EhCacheProvider
hibernate.cache.use_query_cache=true

但是,hibernate 不会缓存它生成的查询以执行实体或集合的延迟加载。我可以在 postgresql 日志中看到它们使用相同的参数一遍又一遍地执行。

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

4

1 回答 1

2

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

你可以在这里读更多关于它的内容:

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#performance-cache-mapping

于 2012-04-27T14:03:59.113 回答