环境:
您好,
问题: 有没有办法,通过注释或声明,我们可以指定应该为JVM生命周期缓存一个实体类型。
背景: 我们有一个JavaEE Web应用程序,我们希望缓存一些实体(它在DB表中只有3行)用于JVM生命周期,同时在短时间内(通过中央配置)使用其他实体。终身原因 - 实体具有一对多映射,其他实体在应用程序中使用率很高。
当前配置:
的persistence.xml
<property name="hibernate.cache.use_second_level_cache" value="true" />
<property name="hibernate.cache.use_query_cache" value="true" />
独立-full.xml
<cache-container name="hibernate" default-cache="local-query" module="org.hibernate">
<local-cache name="entity">
<locking isolation="READ_COMMITTED"/>
<transaction mode="NON_XA" locking="OPTIMISTIC"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</local-cache>
<query cache ...>
...
勒凯什
答案 0 :(得分:2)
您可以查看此question。
基本上,您需要添加到persistence.xml:
<hibernate.cache.infinispan.my.<unitname>.<FQN>.eviction.strategy" value="NONE"/>
<hibernate.cache.infinispan.my.<unitname>.<FQN>.eviction.wake_up_interval" value="-1"/>
unitname 是persistence.xml中定义的持久性单元名称。
FQN 是实体的完全限定名称。