S největší pravděpodobností se vaše entity „zašpiní“ ve stejný okamžik, kdy jsou načteny z databáze, a Hibernate si myslí, že potřebuje uložit změny. K tomu dochází, pokud vaše přístupové objekty (metody get a set) nevrací přesně stejnou hodnotu nebo odkaz který byl nastaven Hibernatem.
V našem kódu se to stalo se seznamy, vývojáři vytvořili nové instance seznamů, protože se jim nelíbil typ, který dostali v setteru.
Pokud kód změnit nechcete, změňte mapování na přístup k poli.
Můžete také zabránit hibernaci v ukládání změn nastavením FlushMode na nikdy v relaci, ale to pouze skryje skutečný problém, který se bude stále vyskytovat v jiných situacích a povede ke zbytečným aktualizacím.