我正在将 eclipselink JPA 与数据库一起使用,该数据库也在我的应用程序外部更新。出于这个原因,我想每隔几秒钟查询一次表。即使我尝试禁用缓存和查询缓存,我也无法让它工作。例如:
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("default");
EntityManager em = entityManagerFactory.createEntityManager();
MyLocation one = em.createNamedQuery("MyLocation.findMyLoc").getResultList().get(0);
Thread.sleep(10000);
MyLocation two = em.createNamedQuery("MyLocation.findMyLoc").getResultList().get(0);
System.out.println(one.getCapacity() + " - " + two.getCapacity());
即使在我的应用程序处于休眠状态时容量发生了变化,println 总是为一和二打印相同的值。
我已将以下内容添加到 persistence.xml
<property name="eclipselink.cache.shared.default" value="false"/>
<property name="eclipselink.query-results-cache" value="false"/>
我一定错过了一些东西,但我的想法已经不多了。
詹姆士