3

我想知道是否可以使用通用 JPA 设置将特定的实体集(即静态查找表)预加载到 L2 缓存中。这是可能的还是依赖于 JPA 供应商(Hibernate、EclipseLink 等)?

4

2 回答 2

2

我怀疑是否有这样的任务设置。但是,当我尝试这样做时,似乎可行的是一个简单的 JPQL 查询,它应该将对象提取到二级缓存中(至少 Hibernate 是这样做的):

entityManager.createQuery("select x from Entity x").getResultList();

这是纯 JPA,因此不依赖于供应商,可以在相应 DAO(@Repository@ServiceSpring)的构造函数或预取线程中执行。

于 2013-10-27T22:08:17.700 回答
1

我不知道任何这样的 JPA 功能。我只需在应用程序启动期间触发相应的调用(服务、存储库、DAO 或任何它们)。

鉴于二级缓存已正确设置和配置,表示您的静态查找表的实体将保留在缓存中,直到...嗯,这当然取决于您的缓存设置。

于 2013-10-27T22:06:03.350 回答