Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠:使二级缓存无效_Java_Spring_Hibernate_Caching - Fatal编程技术网

Java 休眠:使二级缓存无效

Java 休眠:使二级缓存无效,java,spring,hibernate,caching,Java,Spring,Hibernate,Caching,我知道,如果在持久性存储中发生任何更新,二级缓存将无法自我更新。所以,我应该在DAO层的每次写入或更新方法之后调用execute2ndlevelcache()方法吗?还是有更好的策略 如果某个用户或进程直接在数据库中进行更改,则 第二级缓存在 该缓存区域的“timeToLiveSeconds”持续时间已过。在这个 在这种情况下,最好使整个缓存失效并让其休眠 再次构建其缓存。您可以使用下面的代码段 使整个hibernate二级缓存无效 如果您正在对Hibernate实体本身进行更改,那么您不必做

我知道,如果在持久性存储中发生任何更新,二级缓存将无法自我更新。所以,我应该在DAO层的每次写入或更新方法之后调用execute2ndlevelcache()方法吗?还是有更好的策略

如果某个用户或进程直接在数据库中进行更改,则 第二级缓存在 该缓存区域的“timeToLiveSeconds”持续时间已过。在这个 在这种情况下,最好使整个缓存失效并让其休眠 再次构建其缓存。您可以使用下面的代码段 使整个hibernate二级缓存无效


如果您正在对Hibernate实体本身进行更改,那么您不必做任何其他事情来确保二级缓存的一致性,Hibernate将处理它

如果您是通过本机查询进行更改,那么请明确指出哪些实体受到影响,否则Hibernate将使整个二级缓存失效,如前所述


如果您正在从另一个进程更改数据库中的数据,则Hibernate没有意识到这一点,并且您必须定义最适合您需求的策略(过期策略、从应用程序外部调用的显式失效等)。

Hi的可能重复,该链接还提供了一个示例逐出方法。我担心它的使用?所以我的理解是正确的,每个更新方法后面都会有一个对execute方法的调用?