我正在使用eclipselink JPA和一个数据库,这个数据库也在我的应用程序的外部进行更新。出于这个原因,我想每隔几秒查询一次表格。即使尝试禁用缓存和查询缓存,我也无法使其工作。例如:禁用eclipselink缓存和查询缓存 - 不工作?
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"/>
我必须失去了一些东西,但我运行的想法。
詹姆斯
在我的情况你提到的问题解决了2个属性。然而,我使用了一个请求范围的EntityManager。 – Jarekczek 2017-06-13 20:57:24