java - eclipselink 刷新其共享缓存需要多长时间

标签 java eclipselink

有人知道 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 注释的 expiryexpiryTimeOfDay 属性设置特定实体的过期时间,例如@Cache(过期= 600000)。我认为没有可以应用于所有实体的全局设置,但这可能会有所帮助:Configuring Cache Expiration at the Project Level

或者,如果您希望数据过时,您可以 explicitly refresh the cache .

关于java - eclipselink 刷新其共享缓存需要多长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952051/

相关文章:

java - 当 FetchType 为 LAZY 时获取嵌套对象

java - 将自定义命名/ native 查询映射到实体

java - 如何为已运行的应用程序打开 Java 控制台?

java - 如何在运行时获取类名,但仅获取类名?

java - 如何按大小将csv文件拆分成多个文件

java - Java 中的字符串到 String[]

java - JPA:em.flush() 之后的 em.clear() 会改变事务语义吗?

java - JPA找不到新创建的对象

java - 按引用实体中的第一项对 JPA 存储库响应进行排序

java - 如何停止java中信号量中的特定thead?