2011-02-09 60 views
3

我有一个Hibernate二级缓存启用的场景,我想缓存一个实体,每天创建1000个实例并保留8年,但查询只处理最近2天。我想避免创建一个历史记录表,因为对于历史查询的罕见情况,代码取决于日期。是否可以限制特定实体的Hibernate二级缓存大小?

在Hibernate中,Infinispan作为Level-2提供程序可以非常明确地配置Hibernate应该用于实体Foo的具有特定属性(驱逐策略,大小等)的特定缓存吗?

回答

1

是的。在Hibernate中,你可以有N个缓存“区域”,它们可以有不同的配置,可以是某些实体特有的。配置本身依赖于提供者(Infinispan,在你的情况下)。请参阅本文档上的Infinispan配置的详细信息:

http://community.jboss.org/wiki/usinginfinispanasjpahibernatesecondlevelcacheprovider#Advanced_Configuration

看看如何覆盖默认为实体/集合的例子。在那里,您可以设置驱逐策略,寿命和保存在缓存中的实体数量。

相关问题