Deseo utilizar JPA (eclipselink) para obtener datos de mi base de datos. La base de datos es modificada por varias otras fuentes y, por lo tanto, quiero volver a la base de datos para cada hallazgo que ejecuto. He leído varias publicaciones sobre la desactivación de la memoria caché, pero parece que no funciona. ¿Algunas ideas?Inhabilitar el almacenamiento en caché en JPA (eclipselink)
estoy tratando de ejecutar el siguiente código:
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);
== uno dos es verdadera mientras yo quiero que sea falsa.
He intentado agregar cada uno/todo lo siguiente a mi 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"/>
También he intentado añadir la anotación @Cache a la propia Entidad:
@Cache(
type=CacheType.NONE, // Cache nothing
expiry=0,
alwaysRefresh=true
)
¿Estoy mal entendido algo ?
James en su comentario a mi respuesta, fue la caché de apagado ( ) cuando lo probó? –
Justin
Lo siento, me di cuenta de esto, sí, el almacenamiento en caché estaba apagado. Todavía estoy teniendo este problema y no estoy más cerca de una solución. – James