Impegnati effettuerà il commit del database. Le modifiche all'oggetto persistente verranno scritte nel database.Lavaggio è il processo di sincronizzazione l'archivio persistente sottostante con lo stato persistente mantenuto in memory.ie. si aggiornerà o si inserirà nelle tue tabelle nella transazione in esecuzione, ma potrebbe non eseguire il commit di tali modifiche (questo dipende dalla modalità di svuotamento).
Quando hai un oggetto persistente e modifichi un valore su di esso, diventa sporco e l'ibernazione ha bisogno di svuotare queste modifiche al tuo livello di persistenza. Potrebbe farlo automaticamente per te o potresti dover farlo manualmente, dipende dalla tua modalità di lavaggio (automatica o manuale) :)
Quindi, in breve:transaction.commit() svuota la sessione, ma termina anche l'unità di lavoro.
C'è un riferimento simile al tuo problema qui