Pomyśl o Hibernacji jako dużej pamięci podręcznej, która może użyj bazy danych jako „sklepu”, w której umieszcza rzeczy, które nie mieszczą się już w pamięci podręcznej. Hibernate nie wyrzuci wszystkiego do bazy danych, gdy ją zmienisz, będzie czekać. Istnieje szansa, że możesz zmienić więcej niż jedno pole w obiekcie.
Musisz więc opróżnić sesję (em.flush()
) lub musisz uruchomić zapytanie lub musisz zatwierdzić bieżącą transakcję (nie jest to łatwa opcja w przypadku korzystania ze Spring).