Как знать то, что сделало быть в спящем режиме сохраненный объект грязным?

Вы можете сделать это:

hr {
  border: 1px solid red;
}
<hr />
This s a test
<hr />
10
задан boutta 16 July 2009 в 18:57
поделиться

3 ответа

Я бы использовал перехватчик. Метод onFlushDirty получает текущее и предыдущее состояние, чтобы вы могли их сравнить. Реализуйте интерфейс Interceptor и расширите EmptyInterceptor, переопределив onFlushDirty. Затем добавьте экземпляр этого класса с помощью configuration.setInterceptor (Spring может потребовать от вас сделать это иначе). Вы также можете добавить перехватчик в сеанс, а не при запуске.

Вот документация по перехватчикам.

7
ответ дан 4 December 2019 в 02:26
поделиться

Предполагая, что к состоянию объекта нельзя получить прямой доступ (например, нет общедоступных или защищенных полей пакетов) и что с ним не возиться с помощью отражения, вы можете поставить точку останова в начале всех методы объекта и выполнить сценарий, который делает объект грязным в отладчике.

0
ответ дан 4 December 2019 в 02:26
поделиться
  1. создайте тестовый пример или аналогичный, чтобы вы могли воспроизвести проблему одним щелчком мыши.
  2. включить ведение журнала для org.hibernate проверьте запись в журнале на наличие строки «грязный» (на самом деле вы не Мне не нужен весь org.hibernate, но я не знаю точного регистратора.
  3. Найдите места в программе, одно, где объект не загрязнен, другой, где он загрязнен. Найдите середину кода между две точки, и поместите туда оператор регистрации для регистрации значения isdirty. Продолжайте придерживаться стратегии, пока не сократите код до одной строки.
  4. Проверьте код гибернации. Найдите код, который выполняет грязную проверку. Для пошагового выполнения используйте отладчик.
1
ответ дан 4 December 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: