我想知道是否可以使用通用 JPA 设置将特定的实体集(即静态查找表)预加载到 L2 缓存中。这是可能的还是依赖于 JPA 供应商(Hibernate、EclipseLink 等)?
最佳答案
我怀疑是否有这样的任务设置。
然而,当我尝试这样做时,似乎有效的是一个简单的 JPQL 查询,它应该将对象提取到二级缓存中(至少 Hibernate 是这样做的):
entityManager.createQuery("select x from Entity x").getResultList();
这是普通的 JPA,因此不依赖于供应商,可以在相应 DAO 的构造函数(Spring 中的
@Repository
或 @Service
)或预取线程中执行。关于java - 使用 JPA 在 l2 缓存中预加载特定实体(表),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19623867/