Desidero utilizzare JPA (eclipselink) per ottenere dati dal mio database. Il database è cambiato da un certo numero di altre fonti e quindi voglio tornare al database per ogni risultato che eseguo. Ho letto un certo numero di post sulla disattivazione della cache, ma questo non sembra funzionare. Qualche idea?Disabilitare la memorizzazione nella cache in JPA (eclipselink)
Sto cercando di eseguire il codice seguente:
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 == due è vero, mentre io voglio che sia falsa.
Ho provato ad aggiungere ogni/tutte le seguenti alla mia 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"/>
Ho anche provato ad aggiungere l'annotazione @Cache alla propria Entità:
@Cache(
type=CacheType.NONE, // Cache nothing
expiry=0,
alwaysRefresh=true
)
Sto malinteso qualcosa ?
James nel tuo commento alla mia risposta, è stato il caching off ( ) quando lo hai testato? –
Justin
Mi dispiace, ho notato questo, sì il caching era spento. Sto ancora avendo questo problema e non sono più vicino a una soluzione. – James