我想知道是否可以使用通用 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/

10-13 22:50