Java 休眠:使二级缓存无效
我知道,如果在持久性存储中发生任何更新,二级缓存将无法自我更新。所以,我应该在DAO层的每次写入或更新方法之后调用execute2ndlevelcache()方法吗?还是有更好的策略 如果某个用户或进程直接在数据库中进行更改,则 第二级缓存在 该缓存区域的“timeToLiveSeconds”持续时间已过。在这个 在这种情况下,最好使整个缓存失效并让其休眠 再次构建其缓存。您可以使用下面的代码段 使整个hibernate二级缓存无效Java 休眠:使二级缓存无效,java,spring,hibernate,caching,Java,Spring,Hibernate,Caching,我知道,如果在持久性存储中发生任何更新,二级缓存将无法自我更新。所以,我应该在DAO层的每次写入或更新方法之后调用execute2ndlevelcache()方法吗?还是有更好的策略 如果某个用户或进程直接在数据库中进行更改,则 第二级缓存在 该缓存区域的“timeToLiveSeconds”持续时间已过。在这个 在这种情况下,最好使整个缓存失效并让其休眠 再次构建其缓存。您可以使用下面的代码段 使整个hibernate二级缓存无效 如果您正在对Hibernate实体本身进行更改,那么您不必做
如果您正在对Hibernate实体本身进行更改,那么您不必做任何其他事情来确保二级缓存的一致性,Hibernate将处理它 如果您是通过本机查询进行更改,那么请明确指出哪些实体受到影响,否则Hibernate将使整个二级缓存失效,如前所述
如果您正在从另一个进程更改数据库中的数据,则Hibernate没有意识到这一点,并且您必须定义最适合您需求的策略(过期策略、从应用程序外部调用的显式失效等)。Hi的可能重复,该链接还提供了一个示例逐出方法。我担心它的使用?所以我的理解是正确的,每个更新方法后面都会有一个对execute方法的调用?