Нужно при изменении значения в имеющемся объекте или создании нового объекта записывать полученное значение в отдельную таблицу истории изменений. Если при сохранении значение не менялось - то записывать не нужно.
Как это сделать наиболее корректно и просто?