Dirty Checking — это фича Hibernate, которая автоматически отслеживает persistent-объекты на предмет изменений во время сессии. Это позволяет эффективно работать с базой данных, определяя, какие поля были изменены, без необходимости ручного вмешательства.
Когда ты загружаешь объект из базы, Hibernate сохраняет снимок его начального состояния. В конце транзакции Hibernate сравнивает текущее состояние с исходным снимком, чтобы выявить изменения. Если различия обнаружены, Hibernate генерирует UPDATE-запросы только для изменённых полей.
Вместо обновления всех колонок в записи Dirty Checking гарантирует, что:
UPDATE-запросЭта фича включена по умолчанию в Hibernate и работает прозрачно внутри управляемых сессий. Она применяется к объектам в состоянии Persistent и особенно полезна в ситуациях с:
Dirty Checking — это основа для написания эффективных Hibernate-приложений и одна из самых мощных фич оптимизации в этом фреймворке.
Механизм dirty checking в Hibernate сохраняет снимок исходного состояния объекта и сравнивает его с текущим состоянием, чтобы определить, какие поля были изменены.
Новый — ещё не проверен сообществом
Вы