使用JPA在l2缓存中预加载特定实体(表)

时间:2013-10-27 21:33:36

标签: java java-ee jpa

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

我不知道任何这样的JPA功能。我只是在你的应用程序启动期间触发相应的调用(服务,存储库,DAO或其他任何东西)。

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