Все изменения, которые вы делаете в течение сеанса, являются постоянными в течение сеанса. Таким образом, внутри сеанса нет способа узнать, какие данные были изменены ранее в сеансе и какие данные соответствуют схеме базы данных.
Вы можете попытаться обойти это, открыв две разные сессии. В одном из них не вносите никаких изменений, и тогда вы всегда будете знать, с чего начали.
... Или, если в приложении есть определенные места, где вам нужно отслеживать историю, я бы создал некую таблицу истории, где вы сохраняете каждое изменение для определенных элементов, которые вы хотите отслеживать. Я думаю, что это решение будет лучшим, но опять же, все зависит от ваших конкретных потребностей.