是否可以限制特定实体的Hibernate二级缓存的大小?

是否可以限制特定实体的Hibernate二级缓存的大小?,hibernate,second-level-cache,infinispan,Hibernate,Second Level Cache,Infinispan,我有一个场景,其中启用了Hibernate二级缓存,我希望缓存一个实体,该实体每天为其创建1000个实例,并保留8年,但查询只处理最近的2天。我希望避免创建历史表,因为对于历史查找的罕见情况,代码取决于日期 在Hibernate中,Infinispan作为2级提供程序,是否可以非常具体地配置Hibernate应用于实体Foo的具有特定属性(逐出策略、大小等)的特定缓存?是。在Hibernate中,您可以有N个缓存“区域”,这些区域可以具有不同的配置,并且可以特定于某些实体。配置本身取决于提供程序

我有一个场景,其中启用了Hibernate二级缓存,我希望缓存一个实体,该实体每天为其创建1000个实例,并保留8年,但查询只处理最近的2天。我希望避免创建历史表,因为对于历史查找的罕见情况,代码取决于日期


在Hibernate中,Infinispan作为2级提供程序,是否可以非常具体地配置Hibernate应用于实体Foo的具有特定属性(逐出策略、大小等)的特定缓存?

是。在Hibernate中,您可以有N个缓存“区域”,这些区域可以具有不同的配置,并且可以特定于某些实体。配置本身取决于提供程序(在您的情况下是Infinispan)。有关Infinispan配置的更多详细信息,请参阅本文档:

查看有关如何覆盖实体/集合的默认值的示例。在那里,您可以设置逐出策略、寿命和要保留在缓存中的实体数