2011-09-08 59 views
4

Hibernate使用的默认缓存的名称是什么?甚至是否存在默认缓存,或者您是否必须添加缓存提供程序才能利用缓存?Hibernate使用的默认缓存?

我以为是的EHCache但我认为这必须配置...这是不是“有”默认...

回答

7

Hibernate已经通过持久化上下文提供了一个称为缓存机制的第一级缓存。它位于Session范围内,默认情况下处于启用状态,无法关闭。

EHCache等缓存提供程序提供了另一种缓存机制,称为二级缓存。它在SessionFactory范围内。没有二级缓存默认启用,您必须对其进行配置。

请参阅this了解如何在Hibernate中启用EHCache。

+0

谢谢,正是我一直在寻找的 – rrazd

+0

此答案中的链接已过时。 – Joeblade

2

没有二级缓存,默认是处在休眠启用。

您可以根据自己的需要随时选择这些缓存提供商之一:

  • 的EHCache
  • OSCache的
  • SwarmCache
  • JBoss TreeCache的
  • JBoss缓存2

您始终可以参考hibernate文档看看如何注册它。