Java 设置实体中缓存的过期时间间隔(eclipselink/JPA 2.0)

Java 设置实体中缓存的过期时间间隔(eclipselink/JPA 2.0),java,caching,eclipselink,Java,Caching,Eclipselink,有人能告诉我如何使实体中的缓存以一定的时间间隔过期(在Eclipselink/JPA2.0中)?我正在尝试使用@Cacheable注释 谢谢 这取决于缓存提供程序。您可以在单独的配置文件中设置这些内容 @Entity @Cache( expiry=360000 ) public class Person { ... } 这将设置实体的到期时间。到期时间以毫秒为单位。 当您第一次从数据库获取数据时,它将触发一个查询。该实体实例将被缓存。但6分钟后,此实例将无效,但不会从缓存中删除。当它被访问时,

有人能告诉我如何使实体中的缓存以一定的时间间隔过期(在Eclipselink/JPA2.0中)?我正在尝试使用@Cacheable注释


谢谢

这取决于缓存提供程序。您可以在单独的配置文件中设置这些内容

@Entity
@Cache( expiry=360000 )
public class Person {
...
}
这将设置实体的到期时间。到期时间以毫秒为单位。
当您第一次从数据库获取数据时,它将触发一个查询。该实体实例将被缓存。但6分钟后,此实例将无效,但不会从缓存中删除。当它被访问时,它将从数据库中刷新。
您也可以检查此项:。

有关缓存的深入知识,您可以参考:

您的意思是我需要在persistence.xml中设置它吗?您能详细说明一下您的答案吗?因为我使用Eclipselink,所以这是我的缓存提供程序。我是Eclipselink/JPA的新手。请帮助我了解我是否遗漏了一些东西。我不知道如何在eclipselink中准确配置内置缓存,但这是需要查看的地方。和