Как проверить, изменилось ли поле в сущности?
Событие preUpdate как раз таки сработает, если в сущности изменено хоть одно поле, не важно какое. Но если хотите узнать, изменилось ли конкретное поле, тогда в том же событии preUpdate можно сделать так:$unitOfWork = $entityManager->getUnitOfWork();
$unitOfWork->computeChangeSets();

$changesets = $unitOfWork->getEntityChangeSet($article);
$changesets это ассоциативный массив, где ключ - имя поля, а значение массив с двумя элементами:
0 - до, 1 - после изменения. 
Другими словами, факт существования ключа $changesets['content'] говорит о том, что это поле было изменено.
В целом, выше ответили. От себя хочу добавить свой кусок кода, который у меня используется:namespace AppBundle\Entity;

use DateTime;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\HasLifecycleCallbacks
 */
abstract class EntityBase
{

    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var DateTime
     *
     * @ORM\Column(name="created_at", type="datetime")
     */
    protected $createdAt;

    /**
     * @var DateTime
     * @ORM\Column(name="updated_at", type="datetime")
     */
    protected $updatedAt;

    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * 
     * @return \DateTime
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * 
     * @return \DateTime
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    public function setId($id)
    {
        $this->id = $id;
    }

    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    }

    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;
    }

    /**
     *
     * @ORM\PrePersist
     * @ORM\PreUpdate
     */
    public function updatedTimestamps()
    {
        $this->setUpdatedAt(new DateTime('now'));

        if ($this->getCreatedAt() == null) {
            $this->setCreatedAt(new DateTime('now'));
        }
    }
}