Из поваренной книги Symfony 2: Понимание сериализации и способа сохранения пользователя в сеансе:
Как только пользователь входит в систему, весь объект пользователя сериализуется в сессия. При следующем запросе объект пользователя десериализуется. Затем значение свойства id используется для повторного запроса для нового пользователя объект из базы данных.
и
... на практике это означает, что объект User перезагружен из базы данных по каждому запросу, используя идентификатор из сериализованного объекта.
Почему необходимо, чтобы Symfony извлекал объект User из базы данных по каждому запросу?
В каких обстоятельствах сериализованный объект User, который хранится в данных сеанса, не совпадает с объектом User, полученным из базы данных? Разумеется, Symfony знает, когда объект User изменяется, и может просто обновить данные сеанса, когда это произойдет?
Я предполагаю, что для этого есть веская причина, так как было бы бесполезно необоснованно запрашивать базу данных по каждому запросу.