la mia domanda è: perché a filo non funziona:come possiamo ottenere JPA EntityManager lavoro Flush
public void ejbService(){
Customer c = em.find(Customer.class,1);
c.setName("newName");
em.flush();
//at this point when I query mysql table I can not see "newName"
thread.sleep(10000);
c.setName("anotherName");
}
Dopo aver terminato il metodo che vedo "AltroNick" nel db anche verifico con em.find (Customer.class, 1, Lock.None); ma ancora non funziona
RGDS
quindi qual è l'utilizzo a filo ?! – Nav
Modifica anche la modalità flush per il commit anziché quella automatica, ma non succede nulla – Nav
La maggior parte delle implementazioni JPA memorizzerà nella cache le operazioni all'interno della JVM (all'interno di EntityManager). 'flush()' obbliga semplicemente queste operazioni ad essere inviate al database, ecc. - ma non implica un commit. http://stackoverflow.com/questions/4275111/correct-use-of-flush-in-jpa-hibernate contiene alcuni dettagli/discussioni aggiuntivi che potrebbero esserti utili. – ziesemer