EclipseLink 高速缓存失效与存储过程



鉴于我们在oracle数据库上使用eclipselink:1. 我们在 JPA 缓存中缓存了表 A 中的一些数据2. 我们调用一个存储过程,它修改表 A 中的数据

JPA 高速缓存是否会(通过数据库事件)通知表 A 中的数据已更改(是否会失效)?

不,JPA 不知道在 JPA 查询之外或通过其他持久性上下文,甚至不知道在不同 JVM 上的相同上下文对数据库所做的任何更改。 但是,有很多方法可以解决此问题,例如自己使缓存失效和管理:https://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Expiration

或者向数据库注册 EclipseLink 以侦听变更事件:https://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/DatabaseEvents

在可能的情况下,您最好通过 JPA 进行更改。

最新更新