Pensa a Hibernate come a una grande cache che può usa un DB come "negozio" in cui mette le cose che non si adattano più alla cache. Hibernate non scaricherà tutto nel DB mentre lo cambi, aspetterà. È probabile che tu possa modificare più di un singolo campo in un oggetto.
Quindi è necessario svuotare la sessione (em.flush()
), oppure è necessario eseguire una query o eseguire il commit della transazione corrente (opzione non facile quando si utilizza Spring).