带注释的EhCache配置 - Hibernate

时间:2017-08-26 17:51:02

标签: java xml hibernate annotations ehcache

有没有办法使用注释配置EHcache。

我有一个启用了Cache的Spring / Hibernate项目。目前我正在使用ehcache.xml来定义如何缓存实体的配置。

这就是我的ehcache.xml的样子:

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="ehcache.xsd"
         updateCheck="true"
         monitoring="autodetect"
         dynamicConfig="true">

    <diskStore path="java.io.tmpdir/ehcache"/>

    <defaultCache
       .
       .
       .
    </defaultCache>

    <cache name="exmaple.model.User" maxEntriesLocalHeap="1000" eternal="false"
           timeToIdleSeconds="120" timeToLiveSeconds="300">
        <persistence strategy="localTempSwap"/>
    </cache>

</ehcache>

我想知道是否可以在@Entity之上使用注释而不是使用此xml文件。

1 个答案:

答案 0 :(得分:2)

有两个部分。一个是Spring Cache和Hibernate。它们都提供注释来告诉应该缓存方法或实体。

一个例子是来自Spring Cache的@Cacheable

然后,你有ehcache.xml。这是自己配置缓存。它不会被注释所吸引。但它可以通过编程方式进行。 Ehcache 3使用构建器变得容易。您将看到一个示例here。此示例还使用Spring Cache和Hibernate二级缓存。

Ehcache 2(你正在使用)没有建设者。您需要调用CacheManager.newInstance(Configuration)并将所需的任何配置放入其中。可悲的是,我手边没有示例。