Zatwierdź spowoduje zatwierdzenie bazy danych. Zmiany w trwałym obiekcie zostaną zapisane w bazie danych.Płukanie to proces synchronizacji bazowy persiststore ze stałym stanem przechowywanym w memory.ie. zaktualizuje się lub wstawi do Twoich tabel w bieżącej transakcji, ale może nie zatwierdzaj tych zmian (zależy to od trybu spłukiwania).
Gdy masz utrwalony obiekt i zmieniasz w nim wartość, staje się on brudny i hibernacja musi usunąć te zmiany w warstwie trwałości. Może to zrobić automatycznie lub możesz potrzebować zrobić to ręcznie, w zależności od trybu spłukiwania (automatycznego lub ręcznego) :)
W skrócie:transaction.commit() opróżnia sesję, ale również kończy jednostkę pracy.
Istnieje podobne odniesienie do twojego problemu tutaj