我想使用JPA(eclipselink)从我的数据库获取数据。该数据库被许多其他来源更改,因此我希望每次执行查找操作时都返回到数据库。我已经阅读了一些有关禁用缓存的帖子,但这似乎不起作用。有什么想法吗?
我正在尝试执行以下代码:
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("default");
EntityManager em = entityManagerFactory.createEntityManager();
MyLocation one = em.createNamedQuery("MyLocation.findMyLoc").getResultList().get(0);
MyLocation two = em.createNamedQuery("MyLocation.findMyLoc").getResultList().get(0);
System.out.println(one==two);
one==two为真,但我希望它是假的。
我已尝试将以下每个/所有添加到我的persistence.xml文件中:
<property name="eclipselink.cache.shared.default" value="false"/>
<property name="eclipselink.cache.size.default" value="0"/>
<property name="eclipselink.cache.type.default" value="None"/>
我也尝试将@Cache注解添加到实体本身:
@Cache(
type=CacheType.NONE, // Cache nothing
expiry=0,
alwaysRefresh=true
)
我是否理解有误?