有人知道 eclipselink 需要刷新其共享缓存的确切时间吗?我已直接对数据库进行了更改。由于用 java 编写的应用程序使用 eclipselink 进行持久化,因此直接对数据库所做的更改仅在一定时间后才会反射(reflect)出来。这是因为 eclipselink 的共享缓存会缓存该值。
最佳答案
这取决于您的配置。来自 EclipseLink user guide :
By default, entities remain in the shared cache until they are explicitly deleted or garbage collected.
这还进一步取决于您的Cache Type & Size配置。
第一个链接说明如何使用 @Cache
注释的 expiry
或 expiryTimeOfDay
属性设置特定实体的过期时间,例如@Cache(过期= 600000)
。我认为没有可以应用于所有实体的全局设置,但这可能会有所帮助:Configuring Cache Expiration at the Project Level
或者,如果您希望数据过时,您可以 explicitly refresh the cache .
关于java - eclipselink 刷新其共享缓存需要多长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952051/