Najprawdopodobniej twoje encje stają się "brudne" w tym samym momencie, w którym są ładowane z bazy danych, a Hibernate uważa, że musi przechowywać zmiany. Dzieje się tak, jeśli akcesory (metody pobierania i ustawiania) nie zwracają dokładnie tej samej wartości lub odwołania który został ustalony przez Hibernate.
W naszym kodzie stało się tak z listami, programiści tworzyli nowe instancje list, ponieważ nie podobał im się typ, który otrzymali w setterze.
Jeśli nie chcesz zmieniać kodu, zmień mapowanie na dostęp do pola.
Możesz również uniemożliwić Hibernate przechowywanie zmian, ustawiając tryb FlushMode na nigdy w sesji, ale to tylko ukryje prawdziwy problem, który będzie nadal występował w innych sytuacjach i doprowadzi do niepotrzebnych aktualizacji.