Карточка Middle Symfony кратко обновлено

Doctrine: главное

Вопрос

Что нужно знать о Doctrine ORM?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

- Data Mapper: сущности это обычные классы с атрибутами [ORM\Entity], [ORM\Column]. - EntityManager и Unit of Work: persist, remove, flush. - Identity Map: одна сущность на строку в рамках EntityManager. - Ленивые связи через прокси, N+1 лечится JOIN ... fetch в DQL или QueryBuilder (addSelect). - Миграции:…

Ответ

  • Data Mapper: сущности это обычные классы с атрибутами #[ORM\Entity], #[ORM\Column].
  • EntityManager и Unit of Work: persist, remove, flush.
  • Identity Map: одна сущность на строку в рамках EntityManager.
  • Ленивые связи через прокси, N+1 лечится JOIN ... fetch в DQL или QueryBuilder (addSelect).
  • Миграции: doctrine:migrations:diff и migrate.

Разбор

В долгоживущих процессах (воркеры) EntityManager нужно очищать (clear), иначе Identity Map растёт.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.