我想知道是否可以使用通用JPA设置将特定的实体集(即静态查找表)预加载到L2缓存中。这是可能的还是JPA供应商(Hibernate,EclipseLink等)依赖?
答案 0 :(得分:1)
我怀疑是否有这样的任务设置。 但是,当我完全尝试时,似乎工作的是一个简单的JPQL查询,它应该将对象提取到二级缓存中(至少Hibernate会这样做):
entityManager.createQuery("select x from Entity x").getResultList();
这是普通的JPA,因此不依赖于供应商,可以在相应的DAO(Spring中的@Repository
或@Service
)或预取线程的构造函数中执行。
答案 1 :(得分:0)
我不知道任何这样的JPA功能。我只是在你的应用程序启动期间触发相应的调用(服务,存储库,DAO或其他任何东西)。
鉴于第二级缓存已正确设置和配置,表示静态查找表的实体将保留在缓存中,直到......好吧,这当然取决于您的缓存设置。