禁用 JPA 中的缓存(eclipselink)
2022-08-31 20:25:02
我想使用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);
一==二是真的,而我希望它是假的。
我尝试将以下每个/所有内容添加到我的持久性中.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
)
我是不是误会了什么?