решение в лоб: перед сохранением, доставайте запись из базы, делайте diff, делайте апдейт. Этот метод применяет Doctrine по умолчанию, если не задан явно какой-то другой способ.
так же можно на базе __get/__set методов сделать логику отслеживающую изменения в данных...