我想使用 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
)
我是不是误会了什么?