EclipseLink缓存与存储过程失效

时间:2014-11-27 18:15:38

标签: oracle jpa eclipselink

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

通知JPA缓存(通过数据库事件)表A中的数据是否发生了变化(是否会失效)?

1 个答案:

答案 0 :(得分:0)

不,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进行更改,您可能会更好。