В постоянном объекте, если я изменяю только одно поле, возможно ли найти измененное поле только через Hibernate? Я знаю, что могу получить весь старый ряд и новый ряд и сравнить.
На основании одного вашего комментария я понимаю, что вы ищете решение для аудита, поэтому я предлагаю проверить Envers , что именно об этом.
Проект Envers направлен на обеспечение легкого аудита / управления версиями постоянных классов. Все, что вам нужно сделать, это аннотировать ваш постоянный класс или некоторые его свойства, которые вы хотите проверять, с помощью @Audited. Для каждого проверяемого объекта будет создана таблица, в которой будет храниться история изменений, внесенных в объект. Затем вы можете без особых усилий извлекать и запрашивать исторические данные.
Один из вариантов - подключиться к системе событий Hibernate (см. docs ). Например, если вы зарегистрировались для получения FlushEntityEvent, то вам сообщат о том, какие столбцы изменялись с помощью метода getDirtyProperties события.
FlushEntityEvent
getDirtyProperties